伙计们想在matlab中编写一个基本代码来识别基本形状
已将.png图像转换为二进制,然后应用边缘检测(Canny) 接下来该做什么,以便我可以使用边缘检测图像来表明图像是圆形。
i = imread('h.png');
i= im2bw(i,0.5);
i=edge(i,'canny');
imshow(i);
接下来要做什么???
答案 0 :(得分:1)
你可能应该了解hough transform。
Matlab已经有了圆圈imfindcircles
的功能(查看示例!)
答案 1 :(得分:0)
您可以尝试使用经过一系列形状训练的神经网络。 nn可以返回百分比精度,以便您可以看到它的效果如何。
function scan(img)
files = dir('*.jpg');
hist = [];
for n = 1 : length(files)
filename = files(n).name;
file = imread(filename);
hist = [hist, imhist(rgb2gray(imresize(file,[ 50 50])))]; %#ok
end
som = selforgmap([10 10]);
som = train(som, hist);
t = som(hist); %extract class data
net = lvqnet(10);
net = train(net, hist, t);
like(img, hist, files, net)
end
可以在图片中推荐到recognize shapes。