我想在 MATLAB 中使用数学形态学函数来找到 can.png 图像的边界。输入图像是:
我想得到一个边界,例如:
我尝试使用不同的组合和参数使用 strel, imerode, imdilate ,但结果不够好(与预期相差甚远)
我的试用代码之一是:
a = imread ('can.png');
b = im2bw(a);
SE = strel('rectangle', [10 50 ]) ;
i2 = imdilate(b,SE);
figure(1); imshow(i2);
p = ones(4);
c = b - imerode(b,p);
figure(2); imshow(c);
输出是:
任何人都可以帮助我,如何创建预期的图像( jar 头的黑色背景和细边界,好吗?非常感谢。
最佳答案
对其形态梯度进行二值化,然后使用基本 SE 进行膨胀,填充孔并最终获得其边界(给定当前图像是微不足道的)。这不需要任何神奇的任意阈值。
关于matlab - Matlab 中的图像变形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14450225/