Image 如何准确计算白色碎片或补丁的数量?
Hi尝试使用此代码消除噪声和模糊Image 如何准确计算白色碎片或补丁的数量?,image,matlab,image-processing,Image,Matlab,Image Processing,Hi尝试使用此代码消除噪声和模糊 J = double(imread('C:\Users\sai_praneeth7777\Desktop\project\real123.jpg')); L= imnoise(J,'salt & pepper',0.02); k = im2bw(I); se=strel('disk',1); bw=imopen(k,se); imshow(bw); cc = bwconncomp(bw,4); number1 = cc.NumObjects; disp
J = double(imread('C:\Users\sai_praneeth7777\Desktop\project\real123.jpg'));
L= imnoise(J,'salt & pepper',0.02);
k = im2bw(I);
se=strel('disk',1);
bw=imopen(k,se);
imshow(bw);
cc = bwconncomp(bw,4);
number1 = cc.NumObjects;
display(number1);
BW1 = imfill(bw,'holes');
cc = bwconncomp(BW1,4);
number2 = cc.NumObjects;
figure;
imshow(L);
display(number2);
imshow(I);
这是原始图像
这是经过处理的图像
问题是仍然存在一些噪声,而且一些分区不清晰,比如右上角的分区消失了。我想计算白色部分的数量,因此我会得到错误的答案。我对matlab和图像处理是新手。我会从中值滤波器开始,然后,你可以使一个开口稍微大一点,然后是一个小的关闭,以便调整轮廓。但由于边界模糊,因此无法进行非常精确/整洁的分割
如果要分离不同的组件,可以计算距离贴图,并在分水岭中使用局部最大值。顺便说一句,距离贴图中最大值的数量将给出所需的片段数。