如何计算matlab中检测到的转角数?

时间:2015-04-28 05:23:08

标签: matlab

我已经实现了一定数量的算法来检测matlab中的角落,例如哈里斯角,moravec角等等。
现在我的问题是如何检测检测到的角点数 换句话说,我想要检测到的角点数。

1 个答案:

答案 0 :(得分:2)

MATLAB的内置函数corner具有各种功能。

我在这里拍了一张示例图片

enter image description here

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

enter image description here