这阵子在研究拐点检测,于是用matlab实现了尚振宏等的《二值图像中拐点的实时检测算法》。
代码说明:
1、测试图片只存在一个轮廓,若存在多个轮廓,最终结果以取得的第一个轮廓处理;
示例:
2、本人只实现了论文中的前四步,第五步的过滤伪拐点和第六步判断拐点的凹凸性没实现;
3、若有错误,欢迎指正。
代码1(8邻域拐点检测)
<span style="font-family:Microsoft YaHei;">clc;clear;close all;
%% 测试图像预处理
im0=imread('2.jpg');
im=im2bw(im0);%二值化
figure(1);imshow(im);title('原图')
[M,N]=size(im);
%% 求轮廓
B=bwboundaries(im);%寻找轮廓,B为存储轮廓信息的结构体
im1=zeros(M,N);
for k=1:length(B)
boundary=B{k};%第k个轮廓,两列,存储轮廓各像素坐标
%标注第k个轮廓像素所在位置为1
for l=1:length(boundary)
im1(boundary(l,1),boundary(l,2))=1;
end
end
figure(2);imshow(i

本文介绍了使用matlab实现尚振宏等人提出的二值图像中拐点实时检测算法,涵盖了该算法的前四步,但未包含第五步的伪拐点过滤和第六步的凹凸性判断。提供的代码适用于只有一个轮廓的测试图片,对于多轮廓情况,仅处理第一个轮廓。
最低0.47元/天 解锁文章
729

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



