图像方向识别与目标分割(3)

2019-04-23 15:01

然后再往垂直(或水平)方向移动。 因此4向链码表示的图象边界与实际边界可能存在差异,差异程度视图象边界形状不同而变化。而一个象素最多只有8个邻近象素,因此8向链码能准确地表示图象边界。

故本文采取8向链码对边界进行标记。

1(90°)2(90°)3(135°)1(45°)2(180°)0(0°)4(180°)0(0°)5(225°)3(270°)7(315°)6(270°) 图13 4向链码方向编号 图14 8向链码方向编号

比较发现8向链码表示的边界与原图象边界一致,而4向链码表示的边界只是原图

象边界的大致反映。另外,由于4向链码存在额外取象素的可能,所以4向链码的链码长度一般比8向链码长。基于上述原因,本文可以采用8向链码对图像中边界提取进行优化,通过查阅文献可知,该算法能够节省存储空间,,有效缩短链码从而减少运行时间,

【】

使得软件对能够进一步快速判断视野区运动方向。 7.2基于Marius区域填充算法的物体形态区域面积计算模型

Marius区域填充算法的关键是进行区域边界的搜索,通过新边界点与前一边界点的位置关系来确定新边界点的状态。边界上的点如果用T、B、L、R进行标记,则一共有15种不同的状态。例如,用0=0000:表示非边界点或未标记点,用T=2=00102,B=8=10002,L=4=01002,R=1=0001:分别表示上下左右边界点。如图所示:

图15 像素边界标记

整个区域边界搜索从左上方开始,设定初始点位W0,搜寻方向定义为Dir?7,并满足如下公式:

当Dir为奇数时,新的搜索方向为(Dir+6); 当 Dir为偶数时,新的搜索方向为(Dir+7)。

在搜寻边界标定时,假定图像第i行左边界像素(标记)的横坐标为xli;图像第i行右边界像素(标记R)的横坐标为xRi,则xRi-xLi?1表示第i行出在区域内部的像素格式,按行累加可得到区域内像素个数,可得到面积计算公式:

S?(xRi?i?0n?1?xLi?1)

这样计算区域面积方式可不用编码,从而使得具有速度快、计算量小、结果准确度高等

优点。

八、模型评价与推广

11

8.1模型优点

本文所建立的模型和算法的优点在于,通过对区域内像素点检索,消除了孔洞对模型产生的影响,大大提高了物体轮廓提取的精确性。在对运动方向的判断过程中,用尽可能简便的方法,对参考目标特征进行提取,提高了目标识别的精度。

在对图像进行二值化处理时,缓慢移动的视野区域,图像中心像素变化不大,因此采取区域划分方法,比较不同时刻相同区域的质心坐标变化,能够简单迅速的推断出视野移动方向。为避免质心追踪过程丢失帧的问题,用链码对轮廓进行提取并对其进行标记,再求取出质心位置坐标,很好的解决了这一问题。

整个算法过程中运行时间少,最快为0.5s。 8.2模型缺点

在将灰度图进行二值化处理时,由于选取的阙值不同,二值化后的图像会有很大差别,本文所建立的模型没有对阙值进行优化,只是选取了标准阙值,因此针对灰度变化比较大的像素时,对二值图进行区域划分是可能会造成很大误差。 8.3模型推广

本文中的图像处理算法可应用于指纹识别、人脸识别、目标追踪、视频图像分析等方向应用,还可以应用于资源探测中的图像形貌提取。

12

参考文献

[1]刘晓乐,王素华. 灰度图像基本处理及实现[J]. 吉林化工学院学报. 22(2):50-51 .2005.04

[2]白瑞,姜明新.基于Opencv的运动目标的检测和跟踪[J].2012.20(12).126-128 [3]林寿光. 基于图像增强的直方图均衡化处理[J]. 科技广场.2010.10.

[4]徐辉. 基于matlab的图像增强技术的分析与研究[J]. 湖北第二师范学院学

报.25(8):77-78.2008.08.

[5]张明志. 基于微特征的指纹识别算法研究[D]. 厦门大学硕士论文. 2009.

[6]P.Soille著. 形体学图像分析原理与应用[M]. 北京:清华大学出版社. 48-52 .

2008.06

[7]白晓方.复杂背景下目标检测与跟踪技术研究[D].中北大学.2014.51-54.

[8]陆宗骐,童韬. 链码和在边界形状分析中的应用[J]. 中国图像图形学

报.2002.12(7). 1321-1328.

[9]唐振华,张显全.图形边界的链码表示研究[J].微计算机信息.2005.23.

[10]葛伟华,陈优广.基于边界跟踪的区域面积计算.[J].2008. 26(6).239-240.

[11]孙殿臣.基于MATLAB的低分辨率图像增强处理[J]. 中国刑警学院学报.2012.3.

42-46.

[12]岗萨雷斯, 伍兹.数字图像处理[M].北京:电子工业出版社.2011.252-318.

13

附 录

附件1 Matlab2014a fileName = '视频.mp4'; obj = VideoReader(fileName); numFrames = obj.NumberOfFrames;% 帧的总数 for k = 1 : numFrames% 读取数据 frame = read(obj,k); imshow(frame);%显示帧 imwrite(frame,strcat(num2str(k),'.jpg'),'jpg');% 保存帧 end 附件2 tic; i1=imread('tp.jpg'); i2=rgb2gray(i1);%i2灰度图像 [n,m]=size(i2); for i=1:1:n for j=i:1:m if i2(i,j)>80 i3(i,j)=0; else i3(i,j)=1; end end end u=i3; [m,n]=size(u); %去除孔洞和毛刺 i11=imread('tp2.jpg'); i22=rgb2gray(i11);%i2灰度图像 [n,m]=size(i22); for i=1:1:n for j=i:1:m if i22(i,j)>80 i33(i,j)=0; else i33(i,j)=1; end end end [m,n]=size(u); for x=2:m-1 for y=2:n-1 14

Matlab2014a if u(x,y)==1 if u(x,y-1)+u(x-1,y)+u(x,y+1)+u(x+1,y)+u(x-1,y-1)+u(x+1,y+1)+u(x+1,y-1)+u(x-1,y+1)==0 u(x,y)=0; end end end end figure;title('去孔洞');imshow(u); %寻找不包括孔连通域的边缘,并且把每个连通域的边界描出来 [B,L]=bwboundaries(u,4); figure;imshow(label2rgb(L, @jet, [.5 .5 .5])) hold on for k = 1:length(B) boundary = B{k}; plot(boundary(:,2),boundary(:,1),'w','LineWidth',2); end % 找到每个连通域的质心 stats=regionprops(L,'Area','Centroid','Perimeter'); S=[stats.Area];C=[stats.Perimeter]; S=sort(S); S(1,1:3)=0; S(1,length(S):length(S)-2)=0; Z=[stats.Centroid]; for i=1:2:length([stats.Centroid]) x1(1,ceil(i/2))=Z(1,i); y1(1,ceil(i/2))=Z(1,i+1); end for i=1:length(x1) if (x1(1,i)<45)&(x1(1,i)>15) n1=i; end end u=i33; [m,n]=size(u); %去除孔洞和毛刺 for x=2:m-1 for y=2:n-1 if u(x,y)==1 if u(x,y-1)+u(x-1,y)+u(x,y+1)+u(x+1,y)+u(x-1,y-1)+u(x+1,y+1)+u(x+1,y-1)+u(x-1,y+1)==0 u(x,y)=0; end end end 15


图像方向识别与目标分割(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:虹吸式屋面雨水排水系统安装监理细则汇总 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: