资源简介
研究生作论文时写的一个链码提取直线的Matlab代码,大家将就看一下吧。
代码片段和文件信息
function [LL_corner] = detectcorner2(bik)%
%采用张小莉《一种有效的基于Freeman链码的拐角检测法》
%根据差分码判断链码中的一点是不是角点.
%b为跟踪的一条线的坐标.
%L为链码,L_corner为角点坐标
% ik = 4;
c = myfun_fchcode(b8);
L = c.fcc; %链码的长度比跟踪的曲线的长度小1
L_corner = [];
for i = 2:length(L) %i为线中坐标的位置,而非链码串中坐标的位置
d = abs(L(i)-L(i-1));
if d>4
d = d-8;
end
if abs(d)>2
L_corner(end+1) = i;
elseif abs(d)==1 | abs(d)==2
if iscorner(biik)
L_corner(end+1) = i;
end
end
end
function result = iscorner(biik)
% if i<=ik
% x3 = b(11); y3 = b(12);
% else
% x3 = b(i-ik1);y3 = b(i-ik2);
% end
if i<=ik | (i+ik)>size(b1)
result = true;
else
x3 = b(i-ik1);y3 = b(i-ik2);
y1 = b(i2); y2 = b(i+ik2);
x1 = b(i1); x2 = b(i+ik1);
s1 = atan((y2-y1)/(x2-x1));
s2 = atan((y3-y1)/(x3-x1));
s = abs(s2-s1);
if s>0.3
result = true;
else
result = false;
end
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10858 2009-06-09 09:09 myfun_traceline6.m
文件 3717 2009-01-04 09:59 stay_straight.m
文件 1239 2009-03-03 10:44 traceline_test.m
文件 1086 2008-12-31 11:15 detectcorner2.m
文件 668 2008-12-30 21:26 draw_progressive.m
文件 8046 2009-06-13 18:37 GUI_code.m
文件 372 2008-12-26 16:47 is_straight.m
文件 1136 2008-12-19 09:31 local_isorigion.m
文件 736 2008-12-30 21:11 myfun_displine.m
文件 8812 2008-12-10 20:47 myfun_fchcode.m
----------- --------- ---------- ----- ----
36670 10
- 上一篇:3buck电路均流方案 仿真 simuli
nk - 下一篇:果蔬图像识别
评论
共有 条评论