我需要在我的项目中检测边缘以进行形状检测。目前我正在使用 MATLAB,但如果它提供更好的输出,我对 openCV 很满意。所以这就是问题所在。我拥有的示例图像具有粗糙表面的重叠对象。我正在使用此代码并获得良好的输出,但表面的粗糙度仍然使我的输出降级。我在 MATLAB 中使用此代码:
a = imread('D:\images\wheatstarch.jpg');
I = rgb2gray(a);
imshow(I)
thresold = graythresh(I);
se1=strel('diamond',2);
I1=imerode(I,se1);
bw = edge(I1,'canny');
figure;
imshow(bw);
我得到这个输出:http: //i49.tinypic.com/vg7fns.png
需要更好的输出,以便我可以将输出用于形状检测。
输入图片下载 http://www.profimedia.si/photo/wheat-starch-granules/profimedia-0035237439.jpg