1
基于MATLAB的数字图像处理研究
1.7.4.3 5.4.3 曲线跟踪

5.4.3 曲线跟踪

曲线跟踪是基于边界的边缘跟踪方法。从起始处的一个边缘点出发,用跟踪准则检查旁边的连接点,满足跟踪准则的像素点就吸收进来。当全部分支点处的点均已跟踪完毕后,该次跟踪结束。

曲线跟踪准则根据图像的灰度值、梯度值、平滑性要求等制定,起始点的选择和搜索准则的确定对曲线跟踪的结果影响很大。MATLAB图像处理工具箱中提供了曲线跟踪函数bwtraceboundary(),彩色图像转换为灰度图像函数rgb2gray(),求门限函数graythresh(),以及转换为二值图像函数im2bw()。图5-27是一幅原始的彩色图像,图5-28是转换后的灰度图像,图5-29转换为二值图像,最后得到图5-30的曲线跟踪边缘提取结果。程序代码如下:

f=imread('saturn.jpg');

imshow(f);

g1=rgb2gray(f);

figure,imshow(g1);

g2=graythresh(g1);

g3=im2bw(g1,g2);

figure,imshow(g3);

dim=size(g3);

col=round(dim(2)/2)-90;

row=min(find(g3(:,col)));

c=8;

n=180;

e=bwtraceboundary(g3,[row,col],'N',c,n);

figure,imshow(f);

hold on;

plot(e(),e(),'g','LineWidth',2)。

img130

图5-27

img131

图5-28

img132

图5-29

img133

图5-30