您能否建议我如何在 Matlab 中通过重建实现形态闭合?
据我所知,imreconstruct命令可用于通过重建实现开放(在我的重建开放代码下方)。
img = rgb2gray(imread("input.jpg"));
img = imcomplement(img);
se=strel("square", 40);
marker= imerode(img,se);
mask=img;
opn_recon=imreconstruct(marker,mask);
以下是我为关闭重建编写的代码:
%Closing by reconstruction
img = rgb2gray(imread("input.jpg"));
img = imcomplement(img);
se=strel("square", 40);
marker= imdilate(img,se);
tmp=0;
while 1
marker_loop = marker;
geodesic=max(marker_loop,img);
recon=imerode(geodesic,se);
if isequal(recon,tmp)==1
break
end
tmp = recon;
marker = imdilate(marker_loop,se);
end
但是代码不能正常工作。你能告诉我我的错误是什么,所以我可以解决它吗?