今天路过校园的草地,有管理人员在轰轰的开着机器割草,那草香扑鼻,不枉我是属兔子的,那么接下来兔发牛功:(分析步骤太细,篇幅将太大,后面部分简略,见源代码:http://download.youkuaiyun.com/detail/lishizelibin/3802639)
function [cout,marked_img]=corner(varargin) %主函数,在灰度图中找角点
输入:
I - 输入图,可以是灰度图,彩色图或二值图
C - 主轴到辅轴的最小比率,使用提供的检测子能够检测顶点为角点,默认值为1.5
T_angle - 正确的角点的最大圆角,默认值162
Sig - 计算曲率时高斯滤波器的标准差,默认值为3
H, L - Canny算子的最大和最小阈值,默认值0.35和0
Endpoint - 控制曲线结束点是否为角点的标志,1为Yes,0为No,默认值为1
Gap-size - 填充轮廓的缝隙宽度不大于此值的缝隙,默认值是1 pixels
输出:
cout - 输入图像的角点坐标集合
maked_image - 带有角点标记的图像
示例:
I = imread('alumgrns.tif');
cout = corner(I,[],[],[],0.2);
[cout, marked_image] = corner;
cout = corner([],1.6,155);
步骤:
(1)对灰度图应用Canny算子,并获得二值边缘图
if size(I,3)==3
I=rgb2gray(I); %将彩色图转换为灰度图.
end
BW=EDGE(I,'canny',[L,H]); %canny边缘检测
使用自适应阈值和支持动态区域的曲率尺度空间角点检测(分析)
最新推荐文章于 2021-03-18 12:19:54 发布
本文介绍了使用自适应阈值和支持动态区域的曲率尺度空间进行角点检测的方法。首先,通过Canny算子获取二值边缘图,然后填充轮廓并计算每个轮廓的曲率,接着筛选出局部最大值作为角点候选。最后,通过边界噪声和细节特征判断,确定真正的角点,并允许将线型曲线的终点视为角点。

最低0.47元/天 解锁文章
1567

被折叠的 条评论
为什么被折叠?



