我已经实现了一定数量的算法来检测matlab中的角落,例如哈里斯角,moravec角等等。
现在我的问题是如何检测检测到的角点数
换句话说,我想要检测到的角点数。
答案 0 :(得分:2)
MATLAB的内置函数corner
具有各种功能。
我在这里拍了一张示例图片
im = rgb2gray(imread('http://i.stack.imgur.com/xZTWm.jpg'));
%// fixing the corners detected indirectly by specifying quality level.
C = corner(im,'QualityLevel',0.2);
Cno = size(C,1);
输出:
>> Cno
Cno =
4
或者你可以直接解决角落的问题:
rgbIm = imread('http://i.stack.imgur.com/xZTWm.jpg');
im = rgb2gray(rgbIm);
C = corner(im,3); %// specifying maximum no. of corners
Cno = size(C,1);
figure;
imshow(rgbIm);
hold on
scatter(C(:,1),C(:,2),50,'filled');
hold off
输出:
>> Cno
Cno =
3