二值图像的面积求取的两种方法及MATLAB实现

news2024/9/30 11:32:23

一、引言

       面积在数字图像处理中经常用到,在MATLAB中,计算二值图像的面积通常可以通过两种主要方法实现:遍历法和直接利用bwarea函数。下面将分别介绍这两种方法的原理和相应的MATLAB代码示例。

二、遍历法计算二值图像面积的原理和MATLAB代码

        原理:遍历法是通过直接遍历图像中的每一个像素,统计值为1的像素个数,从而估算出图像中对象的面积。由于二值图像中对象的面积通常与其包含的像素数成正比,因此这种方法简单直观。

clear all;
close all;
clc;
bwImage = imread('circles.png');  % 读取二值图像  
imshow(bwImage),title('二值图像');
% 确保图像是逻辑数组(二值图像),如果不是,则进行转换  
bwImage = logical(bwImage);  
totalArea = 0;  % 初始化面积计数器  
% 遍历图像的每个像素,并计算前景像素的数量  
[rows, cols] = size(bwImage);  %获取二值图像的行列数
for row = 1:rows  
    for col = 1:cols  
        if bwImage(row, col)  
            totalArea = totalArea + 1;  
        end  
    end  
end  
% 显示总面积  
fprintf('图像中前景的总面积(像素计数): %d\n', totalArea);

运行结果:

8447c49d7ab147f98abc6c34d7b4a6b6.png

9d8b921d4ed74048862f9663b220b6a5.png

三、bwarea函数计算二值图像面积和MATLAB代码

      原理bwarea函数是MATLAB中专门用于计算二值图像中对象面积的函数。它通过对图像中每个像素的面积求和来估算图像中所有on像素的面积。需要注意的是,由于不同像素图案的加权不同,返回的面积值可能与实际像素数不完全相同,但大致上反映了图像中对象的面积。

clear all;close all;clc;
img = imread('circles.png');% 读取图像      
totalArea = sum(bwarea(img));  % bwarea返回的是每个对象的面积,如果需要总面积,需要求和  
fprintf('图像中前景的总面积(像素计数): %f pixels\n', totalArea);% 输出总面积

0564b1c62b8e4b9e9a7b92374e2f4204.png

四、对比分析

      综上所述,利用遍历法和bwarea函数求解面积时结果不同,主要是由于它们在计算原理、像素处理方式、边界和噪声处理等方面的差异所导致的。在实际应用中,应根据实际情况和图像特性选择合适的方法。

      如果你觉得本文对大家学习有帮助,请关注、转发和点赞!

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2179506.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

护眼落地台灯品牌前十名:十大全网超高热度品牌汇总

十大护眼路灯台灯有哪些?在众多照明灯具产品中,护眼落地台灯能够提供适合多场景、大氛围的舒适照明,对于学生、工作群体来说能够有效的提高光线质量,减少不良光线带来的近视风险。可是市场品牌繁多,很容易选购到劣质的…

golang web笔记-2.请求request

什么是request http消息分为request(请求) 和 response(响应) request:在go中是一个struct,代表了客户段发送的http请求,已可以通过request 的方法访问请求中的cookie、URL、User Agent&#xf…

【论文阅读笔记】TOOD: Task-aligned One-stage Object Detection

论文代码:https://github.com/fcjian/TOOD 文章目录 论文小结论文简介论文方法Task-aligned Head(T-Head)T-Head伪代码解释 Task Alignment Learning(TAL)Task-aligned Sample AssignmentTask-aligned Loss 论文实验消…

STM32F1+HAL库+FreeTOTS学习15——互斥信号量

STM32F1HAL库FreeTOTS学习15——互斥信号量 1. 优先级翻转2. 互斥信号量3. 相关API函数;3.1 互斥信号量创建3.2 获取信号量3.3 释放信号量3.4 删除信号量 4. 操作实验1. 实验内容2. 代码实现3. 运行结果 上期我们介绍了数值信号量。这一期我们来介绍互斥信号量 1. 优…

Hadoop FileSystem Shell 常用操作命令

提示:本文章只总结一下常用的哈,详细的命令大家可以移步官方的文档(链接贴在下面了哈🤣)— HDFS官方命令手册链接。 目录 1. cat 命令:查看 HDFS 文件内容2. put 命令:将本地文件上传到 HDFS3.…

基于VirtualBox和Ubuntu的虚拟环境搭建

VirtualBox简介 VirtualBox 是一款开源虚拟机软件。 是由德国 Innotek 公司开发,由Sun Microsystems公司出品的软件,使用Qt编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。简单易用,可虚拟的系统包括Windows&…

浅谈汽车智能座舱如何实现多通道音频

一、引言 随着汽车智能座舱的功能迭代发展,传统的 4 通道、6 通道、8 通道等音响系统难以在满足驾驶场景的需求,未来对于智能座舱音频质量和通道数会越来越高。接下来本文将浅析目前智能座舱如何实现音频功放,以及如何实现多路音频功放方案。…

Library介绍(三)

环境描述 工作条件 一般lib文件里面包含了芯片的工作条件即operation conditions,其指定了工艺(process)、温度(temperature)和电压(voltage),见图1。 其中,process代表了…

10款超好用的图纸加密软件推荐!2024企业图纸加密最佳选择!

在现代企业中,保护知识产权和敏感数据显得尤为重要。尤其是工程设计、建筑图纸等专业文件,若遭到泄露,可能导致巨大的经济损失和竞争优势的丧失。为了帮助企业有效保护图纸,本文将推荐10款超好用的图纸加密软件。 1.安秉图纸加密软…

【CSS in Depth 2 精译_043】6.5 CSS 中的粘性定位技术 + 本章小结

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结)第二章 相对单位(已完结)第三章 文档流与盒模型(已完结)第四章 Flexbox 布局(已…

在起草行业标准时,如何确保格式统一?

一、遵循相关规范 1. 严格按照国家有关标准编写规范以及行业特定的标准编写指南进行起草。熟悉并掌握规范中对于标准结构、条款编号、字体字号、图表格式等方面的具体要求。 2. 参考已发布的同行业成熟标准的格式,学习其成功的格式布局和表达形式。 二、建立模板 1…

9.24-k8s服务发布

Ingress 使用域名发布 K8S 服务 部署项目 一、先部署mariadb [rootk8s-master ~]# mkdir aaa [rootk8s-master ~]# cd aaa/ [rootk8s-master aaa]# # 先部署mariadb [rootk8s-master aaa]# # configmap [rootk8s-master aaa]# vim mariadb-configmap.yaml apiVersion: v1 ki…

Leecode刷题之路第五天之最长回文子串

题目出处 05-最长回文子串 题目描述 个人解法 思路: 1.找出所有子串 2.过滤回文子串 3.回文子串长度排序 4.输出最长回文子串 代码示例:(Java) todo复杂度分析 todo 官方解法 最长回文子串 方法1:动态规划 思路&…

新能源汽车储充机器人:能源高效与智能调度

新能源汽车储充机器人:开启能源高效利用与智能调度的未来之门 随着全球能源危机的日益加剧和环境污染问题的不断恶化,新能源汽车成为了未来交通领域的重要发展方向。然而,新能源汽车的普及不仅需要解决电池技术的瓶颈,还需要构建一…

【STM32开发笔记】移植AI框架TensorFlow到STM32单片机【上篇】

【STM32开发笔记】移植AI框架TensorFlow到STM32单片机【上篇】 一、TFLM是什么?二、TFLM开源项目2.1 下载TFLM源代码2.2 TFLM基准测试说明2.3 TFLM基准测试命令 三、TFLM初步体验3.1 PC上运行Keyword基准测试3.2 PC上运行Person detection基准测试3.3 No module nam…

netty之基础aio,bio,nio

前言 在Java中,提供了一些关于使用IO的API,可以供开发者来读写外部数据和文件,我们称这些API为Java IO。IO是Java中比较重要知识点,且比较难学习的知识点。并且随着Java的发展为提供更好的数据传输性能,目前有三种IO共…

怎么在Windows系统中使用Chrome的语音搜索功能

在Windows系统中使用谷歌浏览器的语音搜索功能是一种快速且方便的搜索方式。本文将详细介绍如何在Windows系统中启用和使用Chrome的语音搜索功能。 (本文由https://chrome.cmrrs.com/站点的作者进行编写,转载时请进行标注。) 一、 启用语音搜…

《Cell》|单细胞+空间转录组绘制人类鳞状细胞癌组成和空间结构图谱

文章信息 文章题目:Multimodal Analysis of Composition and Spatial Architecture in Human Squamous Cell Carcinoma 发表期刊:《Cell》 影响因子:45.5 PART 1 研究背景 皮肤鳞状细胞癌(cSCC)主要特征是组织极…

如果您忘记了 Apple ID 和密码,按照指南可重新进入您的设备

即使您的 iPhone 或 iPad 由于各种原因被锁定或禁用,也可以使用 iTunes、“查找我的”、Apple 支持和 iCloud 解锁您的设备。但是,此过程需要您的 Apple ID 和密码来验证所有权并移除激活锁。如果您忘记了 Apple ID 和密码,请按照我们的指南重…

基于基于微信小程序的社区订餐系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…