当前位置: 首页 > 知识库问答 >
问题:

在MATLAB中求出二值图像中白色区域的像素数和原始图像中感兴趣区域的像素数

魏澄邈
2023-03-14

从原始图像中我们可以看到,我的ROI是白色的棉花圈在红色的边界中。当我分割这幅图像时,我得到了如图所示的二值图像。我们注意到,与原始图像相比,二值图像中存在一些缺失区域。因此,我要计算ROI的原始图像的像素数和二值图像中白点的像素数。这样我就可以计算ROI的实际像素和实际分割的像素数量的差异。

谢谢你。

共有1个答案

爱炯
2023-03-14

如果你不想自己画界限,你可以试试这个。它可能不像您需要的那样精确,但您可能会通过调整我使用的阈值(在本例中,所有3个通道都为100)来接近实际值。

假设我是你原来的形象。首先,通过使用RGB值进行阈值化来创建二进制掩码。然后移除所有没有至少2000像素区域的小对象。然后把那个对象的像素加起来。

IT = I(:,:,1) > 100;
IT(I(:,:,2) < 100) = 0;
IT(I(:,:,3) < 100) = 0;
IT = bwareaopen(IT, 2000);
sum(IT(:) > 0)

21380

 类似资料:
  • 在OpenCV python中,假设我们用cv2.imread读取一个图像,并得到一个BGR numpy数组。接下来我们使用cv2.inrange命令生成一个掩码。掩模具有相同的宽度/高度,并且每个掩模像素要么是黑色的,要么是白色的。 我必须先将掩码转换成BGR图像吗?如果是,怎么做? 编辑:我不想像在将蒙版应用到彩色图像中那样将整个蒙版应用到图像上。另一种表达我所想要的方式:将面具视为一个黑白图

  • 我有一个有多个分离的圆形区域的噪声图像是模糊的。具有六个感兴趣区域(ROI)的这种图像的示例是: 在Matlab中使用和给定的阈值很容易用全局阈值分割图像。但是我想相对于每个ROI(而不是整个图像)的最大像素值设置一个固定阈值(例如54%),来分割每个ROI。 我有一组不同ROI大小和位置的图像,我需要基于区域阈值分割来分割它们,因此我也无法使用Matlab交互工具来选择它们。 谢谢

  • 我一直在写一个文本检测代码,我正在使用一个二进制映射作为一个掩码来处理图像。在获得候选文本区域之后,我在图像上应用函数,然后在图像上应用掩码以获得这些区域的位置。 现在我创建了一个循环来丢弃不满足某些“子句”的区域。如果没有,我将该区域中的所有像素设为0()和二进制映射()。 当我在进入循环之前绘制地图和图像时,它们符合,但之后它们就不符合了。当我在循环后绘制图像时,显示它完美地擦除了区域,但地图

  • 涂抹工具模拟将手指拖过湿油漆时所看到的效果。该工具可拾取描边开始位置的颜色,并沿拖动的方向展开这种颜色。 选择涂抹工具。 在选项栏中选取画笔笔尖和混合模式选项。 在选项栏中选择“对所有图层取样”,可利用所有可见图层中的颜色数据来进行涂抹。如果取消选择此选项,则涂抹工具只使用现用图层中的颜色。 在选项栏中选择“手指绘画”可使用每个描边起点处的前景色进行涂抹。如果取消选择该选项,涂抹工具会使用每个描边

  • 本文向大家介绍彩色图像、灰度图像、二值图像和索引图像区别?相关面试题,主要包含被问及彩色图像、灰度图像、二值图像和索引图像区别?时的应答技巧和注意事项,需要的朋友参考一下 彩色图像:RGB图像。灰度图像:0-255像素值。二值图像:0和1,用于掩膜图像。 索引图像:在灰度图像中,自定义调色板,自定义输出256种颜色值。

  • 有哪些可能的方法来计算图像中非白色区域/灰色/黑色斑块的表面积?我尝试了来获取形状,在轮廓上迭代,并使用和求出总面积和周长,但结果似乎与图像无关。 我也尝试在轮廓之前添加一个精明的边缘检测,但似乎仍然不太好用。 只是一个额外的上下文,我想使用表面积作为一个ML模型的特性)。