我正在比较在白色背景上随机洒落的小颜色颗粒的RGB图像。我当前的方法涉及将图像导入Matlab,转换为二进制图像,设置阈值并强制其上方的所有像素为白色。接下来,我正在计算黑色像素的百分比。在将图像相互比较时,%黑色像素的测量值很大;但是,它没有考虑颗粒分散的程度。尽管来自两个不同图像的%黑色可能是相同的,但是图像可能远非相似。例如,假设我有两个图像要比较。两者都显示%黑色像素为15%。在一张图片中,黑色像素随机分布在整个图像中。另一方面,一堆黑色像素位于一个角落,在图像的其余部分非常稀疏。
我可以在Matlab中使用什么来数值量化黑色像素的“展开”是为了比较两个图像?
我还没能把我的大脑包围在这个,并需要一些帮助。非常感谢您的想法/答案。
答案 0 :(得分:1)
找到一个非常相似的问题的答案 - > https://stats.stackexchange.com/a/13274
基本上,您可以使用从中心点到每个黑色像素的平均距离作为色散的度量。
答案 1 :(得分:0)
我的想法是基于理想加法理论/热力学中使用的平均自由路径()
首先,您必须使用类似bwconncomp。
之类的东西来分离前景对象平均自由路径是根据您所在地区中心之间的平均距离计算出来的。因此,对于n个区域,您将采用所有n / 2 *(n-1)对,计算所有距离并对它们求平均值。如果平均距离很大,那么你的粒子就会很好地散布。如果它很小,你的物体就会很近。 您可能希望将结果均值乘以n并将其除以边长以获得无量纲数。 (与图像大小无关,与粒子数无关)