Image 如何计算图像中检测到的对象数?

Image 如何计算图像中检测到的对象数?,image,matlab,image-segmentation,Image,Matlab,Image Segmentation,我想开发一个可以计算图像中对象数量的应用程序。知道物体的形状并不重要。我只需要图像中有多少对象的信息 我希望能够用许多图像来实现它。可能吗?怎么做 这是我的密码: a=citra1; a_citra_keabuan = rgb2gray(a); threshold = graythresh(a_citra_keabuan); a_bww = im2bw(a_citra_keabuan,threshold); a_bw = bwareaopen(a_bw

我想开发一个可以计算图像中对象数量的应用程序。知道物体的形状并不重要。我只需要图像中有多少对象的信息

我希望能够用许多图像来实现它。可能吗?怎么做

这是我的密码:

    a=citra1;  
    a_citra_keabuan = rgb2gray(a);
    threshold = graythresh(a_citra_keabuan);
    a_bww = im2bw(a_citra_keabuan,threshold);
    a_bw = bwareaopen(a_bww,30);
    se = strel('disk',2);
    a_bw = imclose(a_bw,se);
    a_bw=~a_bww;
    [labeled,numObjects]=bwlabel(a_bw);
numbjects
显示图像中检测到的对象的数量

这是图片的样本


开始时,您可以将图像用不同的颜色填充,然后检测剩下多少颜色。所以基本上取一个点,如果满足某些条件,用相同的颜色填充它的邻域。这应该会留下一张有大视场的图片(如果条件合适的话,在对象之前)。这样就可以计算了

这里有一个关于如何做到这一点的提示:

这次好多了!增加边缘检测(比如在应用阈值之前)是否有助于更清晰地划分区域?要处理许多图像,为什么不尝试使用
for
循环?您希望每个示例图像的numbjects是什么?如果你说任何大于1的话,那么你是在要求一些非常复杂的东西。