MATLAB计算数组中的真值,但每组只计算一个

时间:2016-06-20 06:38:34

标签: matlab image-processing

给定一个逻辑数组,A:

img = imread('coins.png'); %built-in coins.png demo image
A = img > 100;

我想要一个计算数组中有多少真元素的函数,但忽略连接到已经计数的元素的函数。我希望它为上面的示例图像返回10。我最初的想法是使用像腐蚀/扩张或其中一个bwmorph函数,但我无法弄明白。

如果阈值从100变为140,我会期望该函数返回6或9,具体取决于对角线是否被认为是连接的。

2 个答案:

答案 0 :(得分:2)

如何使用bwlabel

labelled = bwlabel(A);
max(A(:));

答案 1 :(得分:1)

这里的例子非常有用:

http://au.mathworks.com/help/images/image-enhancement-and-analysis.html

var myJson = JSON.stringify(myArrays);

生成包含对象数量及其位置的对象。当阈值为100时,cc.NumObjects为10.这取决于连接性,但对于第二种情况(阈值为140),当连接性为8时,解决方案为19。