【发布时间】:2017-08-10 19:16:23
【问题描述】:
我已分割图像,其中我的感兴趣区域 (ROI) 是白色棉花。现在我想比较分割区域中的像素数,即二进制图像中白色斑点中的像素总数与实际图像中 ROI 的实际像素数。我怎么能做到这一点。下图可以说清楚。
从原始图像中我们可以看出,我的 ROI 是红色边界中的白色棉花。当我分割这个图像时,我得到了如图所示的二进制图像。我们可以注意到,与原始区域相比,二值图像中存在一些缺失区域。所以,我想计算 ROI 原始图像中的像素数和二进制图像中白色斑点的像素数。这样我就可以计算 ROI 的实际像素和实际分割的像素数的差异。
谢谢。
【问题讨论】:
-
要计算二进制图像中的像素数,只需使用
sum(bin_img(:) > 0);,假设是单通道图像。在不知道真实 ROI 是如何存储的情况下,我无法告诉您如何计算真实 ROI 中的像素数。请提供真实投资回报率的描述或示例。 -
我看到您获得原始图像 ROI 中实际像素数的唯一方法是在程序中修改图像,例如将您不感兴趣的像素涂黑(刷)。然后分割通过查看非黑色像素(如果需要,可以选择粉红色)再次查看该图像并执行 jodag 描述的操作。
-
感谢@jodag 的回复。我将图像存储为 RGB 和白色棉区域是我的投资回报率。在上面的真实图片中,ROI 由红色边界标记。我想找出这个 ROI 的像素数。我的真实 ROI 是真实图像中显示的白色棉花。
-
感谢@AntonSavelyev 的回复。您建议的方法很耗时,因为我有 60 张图像,所以我可以分别对每张图像执行此操作。我在想的是:有什么方法可以像我在真实图像中围绕 ROI 绘制边界,它会自动计算封闭边界中的像素数。
-
@NaseebGill 你会是那个划定界限的人吗?还是你想让 MATLAB 来做?
标签: image matlab image-processing