Matlab中的角点检测

时间:2014-01-10 20:37:39

标签: matlab image-processing

我正在尝试找到以下图片的角落:

enter image description here

我试过这段代码:

im = imread('layer2.png');
BW=im2bw(im, 100/256);
BW=~BW;
figure,imshow(BW);title('Original Image');
C = corner(BW,4);
hold on
plot(C(:,1), C(:,2), 'r.', 'MarkerSize',30);

但它检测到错误的角落,如下图所示:

enter image description here

有什么问题?如何才能检测到真正的角落?

2 个答案:

答案 0 :(得分:6)

只需在im2bw之前添加一行:

im = imdilate(im,strel('disk',2));

图像:

enter image description here

答案 1 :(得分:0)

另外,在MATLAB中查看cornermetric函数,可以在选择最终角点之前更好地控制要应用于角点量度值的阈值。

相关问题