轮廓环境

2024-09-15

轮廓环境(精选7篇)

轮廓环境 篇1

0引言

国内养殖规模不断扩大,对于养殖业主来说,及时并准确可靠的掌握养殖数据,做到科学养殖,对于提高产量与品质至关重要,所以养殖环境的监控已经成为各类养殖业持续健康发展的重要课题。物联网技术是新一代信息技术的重要组成部分,分传感器、系统集成和通讯网络三大产业,在“信息化”时代掀起新一轮的产业革命。深深的影响着国民经济和人们的生活。

本系统以水产养殖为例,针对其环境多样多变、要求高的特点,结合水环境信息采集技术,设计了基于物联网技术,对水产养殖环境参数可进行远程及现场实时监控的智能平台。该平台能长期连续的在线监控水温、浑浊度等主要环境参数,同时可以根据需要灵活设置相关参数和控制方式,可实现远程智能监控,使得用户可以节省大量人工操作,降低鱼类疾病和死亡率,减少损失。

1系统总体设计

本系统是基于物联网技术,以对鱼缸温度和浑浊度等水质参数为例进行实时监测并可实现远程控制的智能换水系统,可以解决观赏鱼等水产品在养殖过程中生存环境的问题。

系统硬件部分以STC12C5A60S2为核心,设计了水位、温度检测模块,通信模块,键盘模块,TFT液晶显示模块,红外对管及输出控制语音播放、马达和电磁阀模块。软件部分是以C51语言为主要开发工具,进行了数据采集、数据处理、实时控制、显示、串口通讯等模块的设计。

遥控系统是在智能终端利用YEELIN物联网平台APP,软件界面友好,易操作,功能齐全。现场监控系统既可以单独作为监控仪使用,满足小型水产养殖生产的要求,也可以作为智能控制系统的一部分。该系统实现了水产养殖环境参数的自动采集和数据的实时传输及处理,实时性好、自动化程度高、电路简单、成本低,在工厂化水产养殖应用中具有一定的实际意义。

2硬件电路设计

按终端机的功能要求设计,硬件电路主要分为主控制起最小系统模块、数据采集模块、通信模块、系统电源模块、控制输出模块、语音播放模块和显示模块等七部分。

数据采集模块主要包含水位、温度和浑浊度的数据采集3个模块;通信模块为GPRS 3G通信模块;控制输出模块主要包括电磁阀控制和抽水机控制2个模块。

2.1主控制起最小系统设计

MCU最小系统设计主要参考STC12C5A60S2数据手册设计,外部晶振选用典型的12MHz,负载电容选用30pF,与晶振构成谐振器;采用按键复位电路,具体电路如图1。

2.2数据采集模块设计

系统分别通过红外对管的透光度来实时监测鱼缸的浑浊度,用NTC10K温度计来监测水温参数,通过对这些参数值的分析控制鱼缸抽水和放水;水位检测开关则在平时和换水过程中监测水位。五个独立键盘输入主要用来设置上、下限值和设备启停等。

2.3通信模块设计

系统的通信模块采用GPRS的3G模块,定时将所检测到的数据发送到YEELINK物联网平台。由此用户可以通过手机或平板等的应用软件实时查看鱼缸的水质参数,并且可以实现对鱼缸进行远程换水等操作的控制。

2.4系统输出模块

系统的数据输出主要是语音和显示输出。显示器采用2.4TFT液晶屏,可以输出240*320的分辨率,用户可以通过显示器查看当前的鱼缸参数确切值,并可以配合对上限制进行设置。语音芯片则现场提示工作状态和所需进行的操作。

控制输出则主要为电磁阀和抽水机控制,在自动换水过程中,电磁阀打开防水,同时水位检测开关检测到水位达到最下限时,电磁阀关闭,抽水机工作,鱼缸进水至上限,换水过程结束。

3系统软件设计

单片机软件采用模块化的程序设计方法,控制程序分为主程序和多个子程序模块,采用C51语言编程。

主程序负责整个控制流程:系统启动后,采集输入模块的数值,然后根据当前的状况和设置判断控制模式和所需操作,方案确定后控制输出装置进行相应输出操作。而几乎每个数据输入输出模块都有相应的子程序来配合主程序的工作。各模块相互独立,提高了系统的可靠性和可扩展性,实用性高。

4程序调试

首先调试程序,程序的语法和逻辑通顺后,进行实物轮廓环境调试。经模拟运行验证,操作者在使用该系统时轻松方便,按键操作和TFT液晶显示屏界面非常友好。系统具有响应速度快,操作简便,工作可靠等特点;采用远程控制,可以更方便的进行控制,有很高的实用性。

其实验结果表明,该系统软硬件设计合理,能够实现对水产环境温度和水质浑浊度等信息的实时数据采集,并可以根据需要将采集的数据通过GPRS无线网络传送至用户手机等智能控制终端,方便用户通过智能终端APP实时对遥测水产参量数据进行综合分析,并及时采取正确的控制措施。本系统的关键技术是通过智能测控终端实现数据的采集、存储、无线传输等处理过程,并为用户提供远程调控方案。

5结束语

该项目进行了物联网轮廓环境平台的尝试,在应用型实践教学中反应良好。在物联网技术的大环境下,轮廓环境的搭建有利于推进高校实践教学的深入开展,具有很好的应用价值。

集成轮廓跟踪 篇2

设计鲁棒的目标跟踪方法是一项艰巨的任务,特别是考虑自然场景中可能发生的各种复杂变化,例如,目标外形和表面的变化、亮度变化、部分遮挡等。最近,自从Collins等人[1]提出“将跟踪看作是目标和背景的分类”这一思想后,基于分类的跟踪算法得到了广泛研究并表现出很好的性能[2,3,4,5,6,7]。Avidan[2]提出了将SVM和光流法相结合的支持向量跟踪算法,随后Avidan[3]又提出了集成跟踪算法,利用每个像素11维的颜色和方向梯度特征,采用Adaboost训练分类器并且在线更新,以实现鲁棒的跟踪。Grabner[4,5]等人提出了在线Adaboost特征选择方法,并将其应用于复杂背景学习、视觉跟踪和目标检测。为减小漂移问题,Grabner等人[6]随后又提出了基于在线半监督Boosting的鲁棒跟踪方法。但在上述方法中,目标被限制在一个矩形区域内,不能获得更精确的目标轮廓,为解决这一问题,本文引入快速水平集算法来获取目标轮廓。

水平集(Level Set)方法[8]由Osher和Sethian提出,它具有适应拓扑结构变化、自动分裂与合并等优良特性,在图像分割和视觉跟踪中得到了广泛应用[9,10,11]。最近,Shi等人[11]提出了快速水平集算法,能实现实时的目标轮廓跟踪,但算法侧重于计算效率和速度的研究,而在跟踪的鲁棒性方面有待进一步提高。

基于此,本文基于“将跟踪看作是目标和背景的分类”这一思想,在文献[3,11]工作的基础上,提出了一种将Adaboost集成学习和快速水平集算法相结合的集成轮廓跟踪方法。

1 集成轮廓跟踪算法总体框架概述

本文提出的集成轮廓跟踪方法总体框架如图1所示,算法采用基于Adaboost的集成学习方法来构建快速水平集算法的速度函数,然后采用本文提出的基于动态邻近区域的快速水平集(图中虚线框部分)来演化目标边界曲线以实现目标的轮廓跟踪。

总体的算法运行如下:以初始帧所选目标区域像素点为正样本,与目标区域邻近的背景带区域像素点为负样本,训练得到包含T个弱分类器的集合;在接下来的每一帧新图像到来时,以上一帧的轮廓跟踪曲线初始化当前帧,并用上一帧更新得到的强分类器H来分类用于描述轮廓曲线的链表Lin和Lout中的各像素点(其具体定义在本文第二节中给出),从而得到曲线演化的外部速度,然后采用基于动态邻近区域的快速水平集算法演化曲线,重复这一过程直到满足曲线演化停止条件并最终得到当前帧的目标轮廓,最后根据新的目标轮廓得到当前帧的正负样本并更新强分类器H。

在跟踪过程中,算法始终维护并更新一个弱分类器的集合,用于从背景中区分前景目标。弱分类器可以在任何时间增加或移除以反映目标或背景的动态变化,而时序相关性则通过持续地训练新的弱分类器并将它们加入到弱分类器集合中来保持。集成因此实现了两个目标:每一个弱分类器被调整到在特定帧中从背景中区分目标,并且集合作为一个整体保证了时序上的一致性。

2 Shi快速水平集算法简介

文献[11]提出的快速水平集算法采用双链表的方式来实现曲线的演化。该方法根据曲线的隐含描述,如图2(a)所示,定义曲线C内部邻域点链表Lin和曲线外部邻域点链表Lout如下:

其中:x、y为像素点,N4(x)即为像素点x的4邻域,Rfg、Rbg分别为曲线C的内、外部区域,且Rfg∪Rbg为整个图像平面。基于此,曲线C包围区域由链表Lin、Lout所完全确定,且曲线的任意演化过程可以简单地通过链表Lin、Lout之间的像素点交换来实现。如图2(b)所示,在点A处要将曲线外移,只需把点A从Lout调换到Lin中即可,类似地,仅需将点B从Lin调换到Lout来将实现曲线内移,因此该方法通过重复的调换操作,就能实现任意的目标边界。算法首先定义如下的水平集函数来近似符号距离函数:

其中:内部点指在曲线C内部但不属于Lin的像素点,外部点指在曲线C外部但不属于Lout的像素点。在根据式(1)、(2)对Lin、Lout和水平集函数φ(x)定义的基础上,定义了对链表Lin和Lout进行操作的两个基本程序switch_in(x)、switch_out(x),用于实现Lin和Lout之间像素点的调换。由于在该算法中每演化一次,曲线向内或向外移动一个像点,即具有固定的演化速度,因此只需知道曲线演化的方向即可,即只需得到速度函数的符号,若速度函数为正,则曲线向外演化,反之,曲线则向内演化,在文献[11]中用于跟踪的外部、内部速度的分别定义为

其中:p(v|Ωfg)、p(v|Ωbg)分别为背景差分后的所得图像中目标和背景的特征分布,G1为高斯平滑模板。由此,整个快速水平集算法采用基于Fext(x)和Fint(x)的曲线演化双循环实现,具体流程可见文献[11]。

3 基于动态邻近区域的快速水平集曲线演化

本节在Shi快速水平集方法的基础上,针对跟踪任务的特点,结合Adaboost集成分类器,实现基于动态邻近区域特性的快速水平集曲线演化算法,本文称之为DNRFLS算法(Dynamic Neighborhood Region Fast Level Set),即实现图1中灰色区域部分。

如图3所示,设图像中内部闭合曲线C是初始目标轮廓曲线,C的内部区域是目标,内部与外部曲线之间是由曲线C确定的邻近背景区域带,在此仍以Rfg、Rbg分别标识目标及其邻近背景区域,但Rfg∪Rbg不是整个图像平面。本文将背景区域带的宽度Wbg取为

其中:Area(Rfg)是目标区域的面积也就是目标区域像素点的个数,Length(C)为闭合曲线C的长度也就是曲线上像素点的个数,通过式(5)进行在线动态地背景带宽选择,能自适应地适应目标尺度的变化。

在文献[11]提出的快速水平集算法中,曲线进化外部速度Fext(x)直接决定着跟踪的效果。而其外部速度本质上就是一个分类判别函数,因此本文引入基于Adaboost的集成分类器来设计外部速度函数。

设跟踪过程中,由上一帧或初始帧中的样本集通过Adaboost训练得到的强分类器H(x)为

其中:x为像素点的d维特征矢量,即x∈Rd,ht(x)为训练得到的第t个弱分类器,αt为基于弱分类器ht的错误率et而分配的权值。类似于式(3),式(7)的分类判别函数可直接作为速度函数,若g(x)≥0,则该像素点分类为目标,反之则为背景。但仅用式(7)的速度函数易受到噪声的影响,造成曲线在演化过程中会产生较多冗余轮廓,为减少噪声影响及消除冗余轮廓,本文增加点x的空间邻域信息,即对g(x)进行加窗滤波处理。以x为中心,选取一窗口Wx,对g(x)进行滤波可得本文的外部速度函数:

本文算法的实现与文献[11]类似,由于在式(8)中我们增加了窗口滤波,与式(4)的内部速度相类似,在很大程度上保证了曲线的平滑性,因此文献[11]中的曲线平滑循环可去除。DNRFLS算法流程如下:

1)初始化:根据初始曲线C,按式(1)、(2)初始化φ(x)、Lin和Lout,规定最大迭代次数Nmax;

2)for k=1:Nmax do

a)根据曲线C获得目标区域Rfg及背景带区域Rbg;

b)朝外进化:遍历Lout,由式(8)计算Lout中每一点x的外部速度Fext(x),若Fext(x)≥0,则switch_in(x);

c)Lin冗余点消除:遍历Lin,对于每个像素点x∈Lin,若满足∀y∈N4(x)且φ(y)<0,则将x从Lin中删除,并设置φ(x)=-3;

d)朝内进化:遍历Lin,由式(8)计算Lin中每一点x的外部速度Fext(x),若Fext(x)<0,则switch_out;

e)Lout冗余点消除:遍历Lout,对于每个像素点x∈Lout,若满足∀y∈N4(x)且φ(y)>0,则将x从Lout中删除,并设置φ(x)=3;

f)停止条件判断:若满足(Fext(x)<0∀x∈Lout且Fext(x)>0∀x∈Lin)则停止曲线演化,否则转到2)。

基于动态邻近区域的快速水平集算法与原有算法相比的主要特点是:Rfg和Rbg是图像平面的一部分,且在曲线演化过程中二者的大小都是在动态发生变化的;采用基于Adaboost的集成分类器来构建外部速度,增强了目标轮廓提取的准确性,并通过加窗滤波提高了抗噪性能。

4 集成轮廓跟踪算法流程

跟踪算法在d维特征空间中运行,每个像素x由归一化的d维特征矢量描述,即x∈Rd。本文中d=27,包括24维的Gabor纹理特征及3维的RGB颜色特征。其中灰度图像f(x,y)的Gabor纹理特征计算如下:

其中:“*”表示卷积运算,ψu,v(z)为二维Gabor滤波器组[12]:

其中:z=(x,y)代表像素的位置,||·||代表范数运算;参数u和v分别代表Gabor滤波器的方向和尺度,σ则决定了窗口宽度和波长的比例关系;方括号中的第一项是交流分量,第二项则为补偿直流分量,用以消除滤波器响应对图像亮度绝对值变化的依赖性;小波向量ku,v为ku,v=kvexp(iφu),其中kv=kmax/fv,φu=πu/U,kmax是最大频率,f是尺度因子,U是Gabor滤波器方向总个数。二维Gabor滤波器是一组具有高斯包络的平面波,能够精确地提取图像的局部特征,且对位移、形变、旋转、尺度变化和光照变化都有一定的容忍能力。这样,由不同尺度v∈1{,…,V}和不同方向u∈1{,…,U},通过式(10)、(11)即可得到灰度图像的不同尺度和不同方向的Gabor纹理特征。

本文提出的集成轮廓跟踪算法总体流程如下:

1)初始化(用于第一帧):

a)根据初始化曲线C0及式(5)确定目标R0fg和背景R0bg并提取样本集{xi,yi}N0i=1,其中xi∈Rd,yi∈{-,1+}1为样本xi的标定,初始化权值{iw}N0i=1为1/N0;

b)Fort=,1…,T(训练得到各弱分类器)

(1)归一化样本权值{wi}N0i=1,在{xi,yi}N0i=1上用弱学习算法训练生成弱分类器ht(x):Rd→{-,1+}1;

(2)计算th的错误率et=∑N0i=1wi|ht(xi)-yi|,权值αt=1(/)2log[(1-et)/et],并更新样本权值wi=wiexp(αt|ht(xi)-yi|);

c)运行DNRFLS算法得到C1。

2)while(1)

a)输入第j(j=2,3,…)帧图像,以Cj-1作为第j帧初始目标轮廓;

b)运行DNRFLS算法得到第j帧的轮廓Cj及其对应的目标区域Rjfg,根据式(5)确定背景区域Rjbg;

c)根据新的曲线Cj提取样本集{xi,yi}Nji=1,并初始化样本权值{iw}Nji=1为1/Nj;

d)Fort=,1…,K(保留K个最好的弱分类器并更新它们的权值)

(1)归一化样本权值{wi}Nji=1,并从{h1(x),…,hT(x)}中选择错误率et最小的弱分类器ht(x);

(2)更新弱分类器权值αt和样本权值{wi}Nji=1,并从{h1(x),…,hT(x)}中移除ht(x);

e)Fort=K+1,…,T(增加T-K个新的弱分类器)

(1)归一化样本权值{wi}Nji=1,在{xi,yi}Nji=1上用弱学习算法训练生成弱分类器ht(x):Rd→{-,1+}1;

(2)计算et=∑Nji=1wi|ht(xi)-yi|和αt=1(/2)log[(1-et)/et],更新样本权值{wi}Nji=1;

f)j=j+1,若图像输入结束则退出;否则,转向(2)。

需要指出的是,根据式(2),在跟踪结果中只需将φ(x)<0的图像部分保留即可得到分割出的目标部分。

5 实验结果

为验证本文算法的有效性,对两种典型视频序列进行了跟踪实验。实验均采用Matlab 7.01开发环境及Matlab编程语言实现,在Windows XP SP3,CPU为Intel Pentium M 1.5 GHz,内存为512 MB的PC上完成。实验中,Gabor滤波器大小为16 pixels×16 pixels,V=3,U=8,σ=π/2,f=2,kmax=π/2;其它参数设置如下:T=6,K=4,Nmax=25,Wx=[1/16 1/8 1/16;1/8 1/4 1/8;1/16 1/8 1/16]。实验结果如表1和图4所示。

Egtest05视频序列跟踪实验,如图4(a)所示,该视频序列中摄像机是运动的,在第52帧时存在部分遮挡及光照条件的变化,且跟踪过程中目标发生旋转变化,而基于Adaboost的集成分类器通过自适应调整并更新各弱分类器能适应目标及背景区域的变化,实现稳定的跟踪。图4(e)中给出了目标的运动轨迹,由于摄像机是运动的,轨迹以目标质心的行列坐标值分别给出。

Sweden视频序列跟踪实验,如图4(b)所示,该视频序列的显著特点是在图像中存在两个类似的非刚体目标,且目标尺度逐渐变大。由于水平集算法在处理曲线的分裂和合并上的天然优势,使本文算法能实现两个目标的同时跟踪并适应目标的尺度变化,而无需采用两个相互独立的文献[3]中的算法来进行跟踪。图4(f)给出了目标质心的运动轨迹,从图中看到在行坐标为150、列坐标为80~120之间位置处多次发生了目标的分裂和合并。

图4(c)给出了Egtest05序列在发生光照变化及部分遮挡时H(x)的调整变化,图4(d)给出了Sweden序列在目标尺度逐渐增大时H(x)的调整变化。从图中看出,当目标及背景区域发生变化时,本文算法通过自适应调整并更新各弱分类器,从而使得到的强分类器H(x)能迅速适应该变换,实现稳定而鲁棒的跟踪。

表2给出了实验中部分跟踪结果的各弱分类器的分类错误率及其权值,分类错误率小的弱分类器被赋予更大的权值,以保证所得到的强分类器的分类正确性。在算法的处理速率上,由于本文为实现鲁棒和准确的轮廓跟踪,在特征选择上采用了多尺度、多方向的Gabor纹理特征,且采用水平集算法来获取目标轮廓,因而本文算法与文献[3]相比处理速率慢,如表1所示。

6 结论

本文将跟踪看作是一个二分类问题,提出了一种基于Adaboost集成学习和快速水平集的集成轮廓跟踪算法。本文算法的主要特点包括:1)提出了基于动态邻近区域特性的快速水平集曲线演化算法,根据“将跟踪看作是目标和背景的分类”这一思想,将Adaboost集成分类方法应用于快速水平集,以实现目标轮廓跟踪;2)在特征选择上,通过采用多尺度和多方向的Gabor纹理特征,能更好地适应光照变化、目标旋转及尺度变化;3)弱分类器的集合被在线训练并更新,使跟踪器能适应目标或背景表面的动态变化,提高跟踪的稳定性和鲁棒性。实验结果表明,本文算法在摄像机运动、光照变化、部分遮挡或目标尺度变化等情况下,能实现刚体或非刚体目标的轮廓跟踪。

参考文献

[1]Collins T R,Liu Y,Leordeanu M.Online Selection of Discriminative Tracking Features[J].IEEE Trans.on PAMI(S0162-8828),2005,27(10):1631-1643.

[2]Avidan S.Support vector tracking[J].IEEE Trans.on PAMI(S0162-8828),2004,26(8):1064-1072.

[3]Avidan S.Ensemble tracking[J].IEEE Trans.on PAMI(S0162-8828),2007,29(2):261-271.

[4]Grabner H,Bischof H.On-line boosting and vision[C]//Proc.CVPR’06,New York,June17-22,2006:260-267.

[5]Helmut Grabner,Christian Leistner,Horst Bischof.Real-Time Tracking via On-line Boosting[C]//Proc.BMVC2006,Edinburgh,September4-7,2006:47-56.

[6]Helmut Grabner,Christian Leistner,Horst Bischof.Semi-Supervised On-line Boosting for Robust Tracking[C]//Proc.ECCV2008,Marseille,October12-18,2008,5302:234-247.

[7]Wang J,Chen X,Gao W.Online selecting discriminative tracking features using particle filter[C]//Proc.CVPR’05,San Diego,June20-25,2005,2:1037-1042.

[8]Osher S,Sethian J.A.Fronts propagating with curvature dependent speed:Algorithms based on Hamilton-Jacobi formulation[J].Comput.Phys(S0021-9991),1988,79:12-49.

[9]Yilmaz A,Li X,Shah M.Contour-Based Object Tracking with Occlusion Handling in Video Acquired Using Mobile Cameras[J].IEEE Trans.on PAMI(S0162-8828),2004,26(11):1531-1536.

[10]Mohand Sad Allili,Djemel Ziou.Object tracking in videos using adaptive mixture models and active contours[J].ELSEVIER:Neuro computing(S0925-2312),2008,71:2001-2011.

[11]Shi Yong-gang,William Clem Karl.A Real-Time Algorithm for the Approximation of Level-Set-Based Curve Evolution[J].IEEE Trans.on Image Processing(S1057-7149),2008,17(5):645-656.

中国地质构造的基本轮廓 篇3

1 古亚洲构造域

该构造域包括阿尔泰褶皱系、额尔古纳褶皱系、天山褶皱系、内蒙古大兴安岭褶皱系和吉黑褶皱系, 以及黑龙江褶皱带、那丹哈达褶皱的—部分, 大体与天山—兴安活动带相吻合。

2 塔里木—华北构造域

塔里木—华北构造域, 由塔里木、华北两大地台组成, 二者作东西向排列, 呈楔形相连, 是我国克拉通化程度较高的两大块体。

华北地台是我国最古老的地台, 在冀东、鞍山均已获得38亿a的同位素年龄值。于新太古代已出现了冀东、胶辽等古老地体。阜平期时粘合为太古宙克拉通。由高级变质区与花岗岩-绿岩带组成。高级变质区主要为花岗片麻岩和部分表壳岩, 以卵形穹窿和韧性剪切带为特征。绿岩带形成于古裂谷或古岛弧带, 构造样式以紧闭的复合褶皱群以及韧性剪切带为特征。此后, 地壳由塑性向刚性转化, 于吕梁期固结为地台。由于经后期叠加改造, 现今地台大致呈—东宽西窄的横卧三角形, 并被贺兰山、吕梁山、太行山以及郯庐断裂等纵向构造带分割为阿拉善、鄂尔多斯、冀鲁、胶辽等块体。它的北部与南缘均为中元古裂谷。北缘的“内蒙古地轴”可能是一个复杂的地体拼贴构造带。

塔里木地台呈东西向的透镜状, 显示近南北向的强烈压缩。地台萌生于新太古代或更早, 固结于晋宁期 (塔里木运动) , 大部为新生界所覆盖。地台西部隆起, 东部为叠加式断陷, 南北边缘发育山前逆冲推覆和古生代或古—中新生代叠加式前陆盆地, 东南部即阿尔金优地槽, 北侧有北东东向的铁克力克—阿尔金中元古裂谷和民丰—罗布庄断陷带。

3 昆仑—秦祁构造域

昆仑—秦祁构造域属近东西向摺皱区, 包括东、西昆仑褶铍系、秦岭褶皱系和祁连褶铍系四个次级构造单元, 为我国南北大陆的结合带, 构成中国大陆地质、地球物理、地球化学和自然地理的南北分界。该区主体构造为东西—北西西走向, 祁连造山带为其一个北西向分支, 东段被郯庐断裂带大幅度左旋平移至胶南、苏北地区, 走向转为北东东, 且陆缘软体部分已荡然无存, 仅残留下胶南—苏北中间地块的一部分。

该区内部结构十分复杂。其构造面貌还有待进一步查明, 据现有资料它是晋宁、加里东、华力西、印支、燕山等5次叠加造山所形成的复合造山带, 这些造山带互相关联、互相制约, 但其范围、展布方向又不完全一致。

加里东造山带的主体在祁连山—北秦岭, 有可能经胶南、苏北至朝鲜半岛北部作北西至近东西向延展, 与晋宁期秦昆带在秦岭斜向叠加, 北端为阿尔金优地槽所截。在祁连、北秦岭一带发育早古生代双峰式海相火山岩和岛弧型火山岩以及长达数百公里的蛇绿混杂岩带多条。形成一条巨大的加里东期重熔型花岗岩链, 并有蓝片岩带出现, 显示了造山的演化过程。其间的柴达木、大别、胶南—苏北等地块均来自塔里木、华北陆块和扬子陆块。这一时期昆仑、大巴地区属陆内裂陷槽, 出现浅水海盆沉积。

华力西期造山带的主体在昆仑、西秦岭—带, 石炭—二叠纪时属特提斯洋北侧的一个分支, 呈向西南开放的喇叭状。在中昆仑、阿尼玛卿一带有代表洋壳的蛇绿岩带分布, 塔里木南缘的柯岗断裂和柴达木南缘的金鱼湖—阿尼玛卿断裂可能是特提斯北支于早二叠世闭合时的缝合带。东秦岭及其以东地区属陆内裂陷性质, 华力西期造山带作近东西向展布, 在秦岭地区与加里东期秦祁造山带亦为斜向垒加, 所以导致秦岭地区的构造十分错综复杂。

4 古华夏构造域

位于我国东南部, 它涉及华南褶皱系和扬子地台两大构造单元及东南沿海褶皱系。该两构造单元在四堡期拼接形成四堡期弧形造山带。此后受到多期拉伸裂陷与来自东南方向的压缩作用, 经加里东、华力西运动, 发展至印支期, 形成一个总体作北东北东东向展布, 指向上扬子的叠加式弧形复式造山带。与华南西部以川滇青藏地区向北东方向突出的弧形构造带大体对称。二者之间为发育于攀西、黔东南北西构造带之间的构造干涉地带。

南华加里东期裂谷, 可能是沿绍兴—萍乡—北海古结合带发展起来的, 加里东运动时再次拼接, 因之, 加里东期褶皱系可分为两大部分, 即发育于扬子基底斜坡上的湘桂褶皱带和奠基于华夏古陆上的华夏褶皱带。后者由于先是向北, 后是向西的逆冲、叠覆、拼接, 概括古华夏域的构造格局, 不难发现, 由于构造域的东南部是一个裂解沉沦了的华夏古陆块, 并濒临东南侧的古大洋, 其构造、沉积、岩浆、变质作用的演化, 既具有陆间活动的某些特点, 又具有迭次向南东迁移的发展趋势。

5 特提斯构造域

主要包括昆仑—秦岭活动带以南、扬子地台以西的青藏高原地区。分属华南褶皱系的西部陆缘带、藏滇板块和印度板块北缘。它们由5条含有蛇绿岩带的结合带与5个地块相间排列, 呈现条带状的构造格局。

新特提斯开始出现在三叠纪末, 印度河—雅鲁藏布江张裂带开始活动到侏罗纪进一步扩张形成中、新生代洋盆, 即特提斯主域向南迁移, 三叠系从南至北, 呈稳定型沉积—过渡型沉积—活动型沉积的变化, 显示新特提斯于雅鲁藏布江一带开始拉张, 到侏罗—白垩纪形成新特提斯洋。雅鲁藏布江带间的蛇绿岩套及深海沟沉积, 是新特提斯洋的遗迹。

冈瓦纳大陆于白垩纪开始解体, 印度洋扩张并驱动印度大陆向北漂移。新生代开始, 至始新世末, 新特提斯洋消减于欧亚大陆之下, 最后导致印度大陆与欧亚大陆的碰撞, 欧亚大陆最后形成。每次洋壳的消减都伴以大陆增生, 显示萌特提斯-古特提斯-新特提斯的演化。

滨西太平洋构造域是一个巨型构造域, 自印支运动后, 由于联合成一体的欧亚超级大陆板块与库拉—太平洋超级大洋板块间发生了强烈的相互作用, 从而形成了极为壮观的滨西太平洋构造域。其影响深入板内, 并使大陆受到了大面积、大规模地改造。但它的作用都叠加在古亚洲、华北地台、古华夏和部分东昆仑—秦祁构造域之上。

结束语

综观整个地质历史发展演化阶段, 都出现相应的成矿作用, 在不同的地质历史演化阶段和不同的构造单元内出现的成矿特征。

摘要:我国的地质构造不同时期构造运动所形成的次级构造单元之间, 出现有规律性的演化关系。为了反映这些构造类型的时间演化、空间展布和对区域成矿作用的影响, 将我国划分成五大构造域。

关键词:中国,地质,构造,基本轮廓

参考文献

[1]江西省地质局.初论与斑岩有关的“多位一体铜矿床的成因模式”[J].地质学报, 51卷, 第1期.

纯色光影有关轮廓的艺术遐想 篇4

黑与白的怀旧色彩带我们重温这疯狂盛行于上世纪二、三十年代的舞种。飞扬的发丝、舞动的流苏和夸张的表情,都为这只牛仔舞增加了一份活力与俏皮。而舞者腿部的运动轨迹更让人领略到国际大师们的脚下动作之快。

光影线条的清晰勾勒和纯色调的影像是否勾了起你对胶片时代千丝万缕的恋旧情怀? 手捧单反,我们在五颜六色中疯狂痴迷于高科技设备的参数设置,而体育舞蹈本身最大的魅力却是不受相机的限制。舞者们激昂的肢体语言激发摄影师无限的构图灵感,为我们创造出无限艺术遐想空间。对光影和角度的执着追随才是摄影师们的创作本能。

数字图像轮廓特征提取过程研究 篇5

数字图像处理泛指从图像获取到图像信息输出的全过程, 包括对已有图像信息的处理, 它具有精度高、成本低、速度快及灵活性好等特点, 使得其在诸多领域得到了广泛的应用。作为数字图像处理的常用技术, 图像增强、图像分割、边缘检测等已经发展的较为成熟【1】, 并经常被结合起来用以处理图像。

轮廓特征提取作为数字图像处理中的一个重要方面, 更是许多有关图像研究的重要中间环节, 目前已有很多相关工作完成【2】。提取出图像中物体的大致轮廓等特征可以用来模式识别【3】、物体判断、数学特征值 (如分形维数【4】) 等的计算。

本文对图像轮廓提取过程及应用到的关键技术进行了研究, 给出照片中河流轮廓提取实例。

2 图像轮廓特征提取的流程分析

对于给定的原始图像, 为了提取出轮廓特征, 需要消除图像中的无用噪声, 同时考虑增强消噪后可能变模糊的图像中对提取有利的特定信息, 在此基础上把图像分割成有意义的区域, 再使用特定算子勾勒出图像的轮廓。下图为图像轮廓特征提取的流程示意:

本文对已有的数字图像, 采用目前常用的空间域和频率域的平滑算法 (如理想低通滤波器) 滤波去噪增强, 然后选择适当的阈值分割法 (如OTSU算法) 分割得到二值化黑白图, 再采用适当的边缘检测算子 (如log算子) 提取图像的轮廓特征, 并对所用技术进行描述。

2.1 图像增强

图像经过增强处理后效果会得到改善, 它的某些特定信息将得到增强。在增强过程中, 不分析图像降质的原因, 处理后的图像不一定逼近原始图像, 即可以是一个失真的过程, 且不能增加原图像得信息。其目的是要增强视觉效果, 针对给定图像的应用场合, 有目的地强调图像的整体或局部特性, 扩大图像中不同物体特征之间的差别, 强调某些感兴趣的特征, 抑制不感兴趣的特征, 满足某些特殊分析的需要。将原来不清晰的图像变得清晰或改善图像质量、丰富信息量, 加强图像判读和识别效果。

根据图像增强处理过程所在的空间不同, 可分成基于频率域的方法和基于空间域的方法。前者是一种间接增强的算法, 把图像看成一种二维信号, 经傅里叶变换将图像从空间域变换到频率域, 然后在频率域对频谱进行操作和处理, 再将其反变换到空间域, 从而得到增强后的图像;后者直接在图像所在的二维空间进行处理, 即直接对每一个像素的灰度值进行处理。基于空域的算法分为点运算算法和邻域去噪算法:点运算算法即灰度级校正、灰度变换和直方图修正等, 目的或使图像成像均匀, 或扩大图像动态范围, 扩展对比度;邻域增强算法分为图像平滑和锐化两种:平滑一般用于消除图像噪声, 但是也容易引起边缘的模糊, 常用算法有均值滤波、中值滤波。锐化的目的在于突出物体的边缘轮廓, 便于目标识别, 常用算法有梯度法、算子、高通滤波、掩模匹配法、统计差值法等。

2.1.1 理想低通滤波增强

一般图像的能量主要集中在其低频部分, 噪声和系统中所要提取的边缘信息主要集中在其高频部分, 图像增强的目的是去掉高频干扰又同时保持边缘信息。可以采用低通滤波的方法去除高频干扰来平滑图像。低通滤波是频域滤波增强的一种, 是在变换域空间对图像进行滤波。如上所述, 一般通过某种变换 (如傅里叶变换、小波变换) 将图像从空间域变换到频率域, 然后在频率域对频谱进行操作处理, 再将其反变换到空间域, 从而得到增强后的图像。图像从空间域变换到频率域后, 其低频分量对应了图像中灰度值变化比较缓慢的区域。

以傅里叶变换为例, 频域滤波的主要步骤为:

(1) 对原始图像f (x, y) 进行傅里叶变换得到F (u, v) :假设图想以undefined存储, 则离散傅里叶变换undefined可由如下公式得到

undefinedundefined

(2) 将F (u, v) 与传递函数H (u, v) 进行卷积运算得到G (u, v) :

undefined

(3) 将G (u, v) 进行傅里叶逆变换得到增强图像g (x, y) :

undefinedundefined

故频域滤波的核心在于如何确定传递函数H (u, v) , 一个二维的理想低通滤波器的传递函数如下:

undefined

式中, D0是一个非负整数;D是从点 (u, v) 到频率平面原点的距离, 即:

undefined

理想低通滤波器的含义是指小于D0的频率, 即以D0为半径的圆内所有频率分量可以完全无损地通过, 而圆外的频率, 即大于D0的频率分量则完全被除掉。

2.1.2 Roberts算子锐化

图像滤波平滑往往使图像中的边界、轮廓变的模糊, 为了减少这类不利效果的影响, 这就需要利用图像鋭化技术, 使滤波增强后图像的边缘、轮廓线以及图像的细节变的清晰。经过平滑的图像变得模糊的根本原因是因为图像受到了平均或积分运算, 因此可以对其进行逆运算 (如微分运算) 就可以使图像变的清晰。

Roberts算子又称为梯度交叉算子, 是一种利用局部差分算子寻找边缘的算子。梯度幅值计算近似方法如图2:

(i, j) 为当前像素的位置, f (i, j) 为该点的灰度值, 由如下锐化公式得到表示增强后的图像 (i, j) 位置处灰度值g (i, j) :

undefined

2.2 图像分割与OTSU法

图像分割的目的是把图像空间分成一些有意义的区域, 可以逐个像素为基础去研究图像分割, 也可以利用在规定邻域中的某些图像信息去分割。图像分割比较正式的定义如下:

令集合R代表整个图像区域, 对R的图像分割可以看作是将R分成N个满足以下条件的非空子集R1, R2, …, RN:

(1) undefined;

(2) 对i=1, 2, …, N, P (Ri) =TRUE;

(3) 对∀i, j, i≠j, 有Ri∩Rj=φ;

(4) 对∀i, j, i≠j, P (Ri∪Rj) =FALSE;

(5) 对i=1, 2, …, N, Ri是连通的区域。

对于此定义需要补充的是, 实际的图像处理和分析都是面向某种特定应用的, 所以条件中的各种关系也是需要和实际要求结合而设定的。图像分隔的依据可以建立在图像像素间的“相似性”和“非连续性”两个基本概念之上。像素的“相似性”是指图像中在某个区域内像素具有某种相似的特性, 如像素灰度相等或相近, 像素排列所形成的纹理相同或相近。“不连续性”是指像素灰度的不连续, 形成调变的阶跃, 或是指像素排列形成的纹理结构的突变。故相似性分割就是将具有同一灰度级或相同组织结构的像素聚集在一起, 形成图像的不同区域;非连续性分割就是首先检测局部不连续性, 然后将它们连接在一起形成边界, 这些边界将图像分成不同的区域。图像分割方法又可以分为结构分割方法和非结构分割方法两大类。结构分割方法是根据图像的局部区域像素的特征来实现图像分割, 如阈值分割、区域生长、边缘检测、纹理分析等, 这些方法是假定事先知道这些区域的特性, 或者在处理过程中能够求得这些特性, 从而能够寻找各种形态或研究各像素群。非结构分割法包括统计模式识别、神经网格方法或其他利用景物的先验知识实现的方法等。

图像的黑白二值图像转化是指通过设定某个临界阈值, 大于该临界值时为白, 存储时用1表示, 小于该临界值时为黑, 存储时用0表示, 这样就可以将任意的彩色或者灰度图像转换成黑白二值图像。根据峰值个数以及处理过程的不同, 可以用不同的方法完成灰度图像转换为黑白二值图像的过程, 对于灰度峰值的多少, 可以设定多个不同的临界值。

常用的黑白二值化处理方法有:

1) 单阈值法。对于具有单灰度峰值的图像, 将灰度最大峰值作为临界值F, 并将图像点阵点上的颜色值小于等于某临界值F的像素undefined转换为黑色;大于F的像素值转换为白色。

2) 双阈值法。对于具有两个灰度峰值的图像, 将这两个最大峰值设定为两个不同的临界值F1和F2。当某个像素undefined的像素值介于F1和F2之间时设为白色, 其他情况设为黑色。

大津法 (又称OTSU法或最大类间方差法) 于1979年提出, 它是在灰度直方图基础上用最小二乘法原理推导出来的, 具有统计意义上的最佳分割阈值。Otsu法算法简单, 对光线等具有很强的自适应能力, 在灰度图像目标和背景的自动分割上具有广泛的应用。具体算法如下:

对图像A, 记t为前景与背景的分割阈值, 前景点数占图像比例为w0, 平均灰度为u0;背景点数占图像比例为w1, 平均灰度为u1。

图像的总平均灰度为:

u=w0×u0+w1×u1

从最小灰度值到最大灰度值遍历t, 当t使得值

g=w0× (u0-u) 2+w1× (u1-u) 2

最大时t即为分割的最佳阈值。

对大津法可作如下理解:g实际上就是类间方差值, 阈值t分割出的前景和背景两部分构成了整幅图像, 而前景取值u0, 概率为 w0, 背景取值u1, 概率为w1, 总均值为u, 根据方差的定义即得该式。因方差是灰度分布均匀性的一种度量, 方差值越大, 说明构成图像的两部分差别越大, 当部分目标错分为背景或部分背景错分为目标都会导致两部分差别变小, 因此使类间方差最大的分割意味着错分概率最小。

2.3 边缘检测

图像的边缘是图像的最基本特征, 集中了图像大部分的信息, 图像边缘的确定与提取对于整个图像场景的识别与理解是非常重要的。物体的边缘是以图像局部特征不连续的形式出现的, 也就是指图像局部亮度变化最显著的部分, 例如灰度值的突变、颜色的突变、纹理结构的突变等, 同时物体的边缘也是不同区域的分界处。图像边缘有方向和幅度两个特征, 通常沿边缘的走向灰度变化平缓, 垂直于边缘走向的像素灰度变化剧烈。根据灰度变化的特点, 常见的边缘可分维阶跃型、房顶型和凸缘型。

当使用一阶倒数的边缘检测算子时, 如果所求的一阶导数高于某一阈值, 则确定该点为边缘点, 这样做会导致检测的边缘点太多。一种更好的方法就是求梯度局部最大值对应的点, 并认定它们是边缘点。通过去除一阶导数中的非局部最大值, 可以检测出更精确的边缘。一阶导数的局部最大值对应着二阶导数的零交叉点, 通过找图像强度的二阶导数的零交叉点就能确定精确的边缘点。通常将Gaussian滤波器和Laplacian边缘检测结合在一起, 形成LOG算法。即先用高斯函数对图像进行平滑, 然后再用拉普拉斯算子进行运算, 得到Laplacian-Gauss算法, 它使用一个墨西哥草帽函数形式:

undefined

这种方法在边缘检测时仅考虑那些具有局部梯度最大值的点为边缘点, 这一点可以用拉普拉斯算子将边缘点转换成零交叉点, 然后通过零交叉点的检测来实现边缘检测。所谓的零交叉点就是:如果一个像素出的值小于一θ0, 而此像素连通的各个像素都是大于θ0 (θ0为一个正数) , 那么这个像素就是零交叉点。

与其他边缘检测算子一样, LOG算子也是先对边缘做出假设, 然后再这个假设下寻找边缘像素。但Log算子对边缘的假设条件最少, 因此它的应用范围更广。另外, 其他边缘检测算子检测得到的边缘时不连续的, 不规则的, 还需要连接这些边缘, 而LOG算子的结果没有这个缺点, 对于Log 算子边缘检测的结果可以通过高斯函数标准偏差σ来进行调整。

3 基于MATLAB环境的实验分析

在MATLAB环境下定义函数并编写代码, 对一副照片上的河流轮廓进行提取, 过程如图:

图二是原始彩色照片灰度转化后的图像, 经过低通滤波去噪后得到图三所示图像, 去除了图像的高频噪声, 但略显模糊。对其进行Robert算子锐化调整后可以得到图四所示的增强图像, 图像特征明显变得清晰。大津法 (OTSU) 阈值分割后得到的图五可以看出特征区域和非关注区域的明显对比, 然后由log算子边缘检测提取河流的轮廓, 由图二和图六比较可见提取的效果较为理想。

4 结束语

本文首先介绍了数字图像轮廓特征提取的一般过程, 给出了流程图, 然后详细讨论了数字图像处理的中间环节技术, 并给出了这些技术的部分具体算法, 最后在MATLAB环境下编写代码, 从一副照片中提取出了河流的轮廓, 实验分析结果较为理想。数字图像处理技术应用于图像轮廓的提取, 能够简化一些实验研究工作, 缩短时间提高效率, 如提取的河流可以用于识别和地图绘制, 提取岩石断面轮廓可以用于分形维数计算等等。为了满足不同的需求, 研究者可以对提取过程中用到的技术加以改进或提出新的算法, 如采用不同的边缘检测模型和技术[5], 以达到自己研究所需要的特征和精度。

参考文献

[1]龚声蓉, 刘纯平, 王强等.数字图像处理与分析.北京:清华大学出版社, 2006, 1-84, 168-234

[2]邹柏贤, 林京壤.图像轮廓提取方法研究.北京:计算机工程与应用, 2008, 161-165

[3]魏冬冬, 聂铁铸等.人脸特征提取与识别技术研究.计算机与现代化, 2007, 3:69-76

[4]彭瑞东, 谢和平, 鞠杨.二位数字图像分形维数的计算方法.中国矿业大学学报.2004, 33 (1) :19-24

基于OpenCV的车辆轮廓检测 篇6

国内外对于汽车各部件的测量、检测技术已有较大的发展, 但对整车尺寸参数进行测量的手段相对落后。到目前为止, 还没有测量在用汽车整车尺寸参数的专用自动测试系统。我国汽车检测机构普遍采用的测量器具有卷尺、角度尺、外径卡规、标杆, 以及光学式及电磁式检测仪等。传统的三维测量方法多为人工检测, 劳动强度大、效率低。工业上的三维检测主要是以全站仪、三坐标测量机等为主, 结构复杂、对测量条件要求苛刻, 价格昂贵, 不利于在汽车检测领域进行推广。当今非常有必要开发这样一套设备, 对汽车外形尺寸进行准确测量, 为交通管理部门提供详实的数据, 为整治超限超载提供必要的依据。

本文采用计算机视觉技术, 在通过CCD摄像头采集车辆图像的基础上, 通过OpenCV来检测车辆的外轮廓线, 从而为进一步设计车辆外廓尺寸测量系统提供基础支持。

1 OpenCV简介

OpenCV全称Open Source Computer Vision Library, 是由Intel公司资助的开源计算机视觉库。它由一系列C函数和少量C++类所组成, 实现图像处理和计算机视觉方面的很多通用算法, 例如特征检测与跟踪、运动分析、目标分割与识别以及3D重建等[1]。OpenCV包括300多个C/C++函数的跨平台的中、高层API, 它不依赖于其它外部库, 但是也可以使用某些外部库。由于OpenCV的源代码是完全开放的, 而且源代码的编写简洁而又高效, 特别是其中大部分的函数都已经过汇编最优化, 以使之能高效而充分地利用英特尔系列处理芯片的设计体系, 所以近年来在国外的图像处理相关领域中被广泛地使用, 成为一种流行的图像处理软件。

1.1 OpenCV的模块[2]

本文采用的是OpenCV 1.1prela版本, 包括以下几个模块, 其具体功能是:

① CV模块:主要的OpenCV函数, 包括图像处理、机构分析、运动分析与对象跟踪、模式识别、照相机定标和三维重建等;

② CVAUX模块:辅助的 (实验性的) OpenCV函数;

③ CXCORE模块:数据结构与线性代数支持;

④ ML模块:机器学习库, 是一些用于分类、回归和数据聚类的类和函数;

⑤ HIGHGUI模块:图像界面函数, 主要提供了图形用户窗口GUI, 图像视频I/O, 系统调用函数等。

1.2 OpenCV在MSVC++6.0下的安装及配置[3]

1) 双击OpenCV安装文件, 将路径设置为D:

\rogram Files\OpenCV。安装时选中Add<…>\OpenCV\in to the system PATH, 将其加入系统变量, 以使在运行程序时, 能够找到所需要的OpenCV的动态链接库文件。安装后检查D:\Program Files\OpenCV\bin 是否已经被加入到环境变量PATH, 如果没有, 需要手动加入。

2) 配置VC++6.0:

点击菜单Tools→Options→Directories, 先设置lib路径, 选择Library files, 在下方填入路径D:\Program Files\OpenCV\lib;然后选择Include files, 在下方填入路径:

D:\Program Files\OpenCV\cxcore\include

D:\Program Files\OpenCV\cv\include

D:\Program Files\OpenCV\cvaux\include

D:\Program Files\OpenCV\ml\include

D:\Program Files\OpenCV\otherlibs\highgui

3) 项目配置:

每创建一个将要使用OpenCV的VC Project都需要给它指定需要的lib。依次点击菜单:Project→Settings, 然后将Setting for选为All Configurations, 然后选择右边的link标签, 在Object/library modules附加上cxcore.lib, cv.lib, ml.lib, cvaux.lib, highgui.lib。如果不需要那么多lib, 可以只添加所需要的。

2 车辆图像的预处理

在进行轮廓检测前, 首先要对采集到的车辆俯视图进行预处理, 主要包括形态学去噪、图像平滑处理和二值化分割[4]。

2.1 形态学去噪

数学形态学作为图像处理的数学工具, 它的基本思想是用具有一定形态的结构元素去度量和提取图像中的对应形状, 从而达到对图像进行处理的目的。数学形态学的原始操作有两种, 即膨胀和腐蚀, 许多形态学操作都是以这两种运算为基础的。膨胀可以将图像区域扩张大, 根据膨胀的这个性质, 实际应用中可以用其来实现小的空洞和狭窄的缝隙的填充。腐蚀可以将图像区域收缩小, 根据这个性质, 可以用腐蚀操作来将图像菱角去掉。

膨胀和腐蚀并不是互为逆运算的, 所以可以级联结合使用。可以对图像进行腐蚀然后膨胀其结果, 或者先对图像进行膨胀然后腐蚀其结果。前一种运算称为开运算, 后一种运算称为闭运算, 它们也是数学形态学中的重要运算。一般来说, 开运算能够去除孤立的小点、毛刺和小桥, 闭运算可以填平小孔, 弥合小裂缝, 而总的位置和形状不变。

本文中先对车辆图像进行闭运算, 后进行开运算, 以达到填平轮廓缺口, 去除突出的毛刺、孤立的小点的目的。

2.2 利用中值滤波进行图像平滑处理

图像的平滑是一种实用的数字图像处理技术, 主要目的是为了减少图像的噪声。对于在测试场地采集到的车辆俯视图, 由于场地等的原因, 不可避免的存在许多噪声, 进行平滑处理时最重要的是要保持车辆轮廓的清晰, 同时能够去除高频噪声。中值滤波恰好符合这一条件。

中值滤波器是一种非线性的滤波器, 它能够很好的抑制脉冲干扰和图像噪声, 保护图像的边缘不变模糊。利用中值滤波进行平滑处理可以保留更多的关于图像的灰度信息, 使图像轮廓检测的质量得到提高。

2.3 对图像进行二值化阈值分割

图像分割的目的是把图像空间分割成一些有意义的区域。对于本文要实现的车辆轮廓检测, 要实现的目的是通过图像分割, 得到黑白二值图像。因此采用二值化阈值分割法, 其基本出发点是将图像中的目标和背景看成是以阈值为分割点的两种成分。

首先确定需要的分割阈值, 然后顺序读取图像各像素点灰度值并与阈值比较, 凡大于等于阈值的用1代替, 否则以0代替。通过二值化分割, 得到黑白图像, 为轮廓提取做好准备。

3 轮廓提取与轮廓跟踪

二值化图像轮廓提取算法的原理是:如果原图中有一点为黑, 且它的8个相邻点都是黑色时, 则该点为内部点, 将该点删除, 即将内部点都掏空, 得到图像的轮廓线。

轮廓跟踪的基本方法是:先根据“探测准则”找到目标轮廓上的像素点, 然后根据这些点找出目标物体上的其它像素点。先按照从左到右、从下到上的探测准则顺序搜索图像的所有像素点, 找到最左下方的边界点[4]。然后根据如下跟踪准则:从第一个边界点开始, 定义初始的搜索方向为沿左上方;如果左上方的点是黑点, 则为边界点, 否则顺时针旋转45°, 这样一直找到第一个黑点为止;然后把这个黑点作为新的边界点, 在当前搜索方向的基础上逆时针旋转90°, 继续用同样的方法搜索下一个黑点, 直到返回最初的边界点或直到找不到点为止。

4 基于OpenCV的车辆轮廓检测实现

本文利用OpenCV提供的强大的图像处理函数来对读取的车辆俯视图进行一系列的处理, 最后得到车辆的外轮廓线, 工作流程如图1所示。

4.1 图像读取、显示及释放

从文件中读取图像的语句为:

IplImage * src = 0;

src = cvLoadImage (filename, flag) ;

结构IplImage定义IPL图像的头部, 目前OpenCV支持的图像格式有:BMP, JPEG, PNG, PBM, PGM, PPM, SR, RAS和TIFF等。其中flag为载入图像的通道数标志:当flag>0时, 表示载入图像强制为3-通道彩色图像;flag=0时, 表示载入图像强制为单通道灰度图像;flag<0时, 表示载入图像由文件中的图像通道数决定。本文中要求载入的图像为灰度图像, 因此要设置flag=0。

要实现图像的显示, 首先要创建一个窗口, 然后再显示, 实现函数为:

cvNamedWindow ( “窗口名”, CV_WINDOW_AUTOSIZE ) ;

cvShowImage ( “窗口名”, src ) ;

载入后的灰度图像如图2所示。

在图像处理完毕后, 需要释放内存空间, 其函数为:

cvReleaseImage (& src) ;

cvDestroyWindow (“窗口名”) ;

4.2 形态学去噪和平滑处理

膨胀和腐蚀的函数分别为:

cvDilate (src, dst, element, iterations) ;

cvErode (src, dst, element, iterations) ;

其中src为输入图像, dst为输出图像 (dst可以为src) , element为结构元素, 如果为NULL, 则使用3×3的矩形结构元素, iterations为运算次数。

将膨胀和腐蚀级联应用即达到开、闭运算目的OpenCV中用如下函数实现此操作:

cvMorphologyEx (src, dst, temp, element, operation, iterations) ;

其中operation标志形态学操作的类型, CVMOPOPEN表示开运算, CVMOPCLOSE表示闭运算。

平滑处理函数为:

cvSmooth (src, dst, smoothtype, param1, param2, param3, param4 ) ;

其中smoothtype标志采用的平滑处理方法, 本文中采用中值滤波, 因此设置为CV_MEDIAN, 对图像进行核大小为param1×param1 的中值滤波, 设置param1=3, 其余参数设置为0。

本文中, 对图像进行闭、开运算和中值滤波的多次循环操作, 以达到弥合轮廓缺陷, 去除毛刺, 平滑轮廓, 消除噪声等效果。经处理后的图像如图3所示。

4.3 阈值分割及取反

阈值分割函数为:

cvThreshold (src, dst, threshold, max_value, threshold_type ) ;

其中threshold_type设置为CV_THRESH_BINARY, 采用二值化滤波, threshold为阈值, max_value为最大值。当src (x, y) >threshold 时, dst (x, y) =max_value, 否则dst (x, y) = 0。根据场地实际情况, 经过多次实验, 本文中取threshold = 150, max_value = 255。

因为场地背景灰度值要比车辆本身要高, 因此, 阈值分割后再进行取反处理, 函数如下:

cvNot (src, dst) ;

经过阈值分割后的二值化图像如图4所示。

4.4 轮廓检测及绘制

在二值图像中寻找轮廓函数为:

cvFindContours ( src, storage, & contour, header_size, mode, method, offset ) ;

其中src为输入的8-比特、单通道图像, 非零元素被当成1, 0象素值保留为0, 从而图像被看成二值的;storage为得到的轮廓的存储容器;contour为输出参数, 包含第一个输出轮廓的指针; header_size是序列头的大小, 本文取为sizeof (CvContour) ;mode为轮廓查找的模式, 因为本文主要关注最外层的轮廓, 因此, 设置为CV_RETR_EXTERNAL;method为逼近方法, 采用CV_CHAIN_APPROX_SIMPLE, 压缩水平、垂直和对角分割, 函数只保留末端的象素点;offset为偏移量设置, 默认设置为cvPoint (0, 0) , 即没有偏移量。

轮廓查找之后, 得到contour序列, OpenCV中绘制轮廓的函数为:

cvDrawContours (dst, contour, external_color, hole_color, max_level, thickness, line_type, offset ) ;

其中dst是用以绘制轮廓的图像;external_color是外层轮廓的颜色;hole_color是内层轮廓的颜色;max_level为绘制轮廓的最大等级, 本文中取0, 绘制单独的轮廓;thickness为绘制轮廓时所使用的线条的粗细度, 取1;line_type为线条的类型, 取8。

检测及绘制后的车辆外轮廓线如图5所示。

5 实验结果分析

由图2可见, 因为车身本身情况比较复杂, 加上场地及周围环境 (如光照等) 的原因, 采集到的灰度图像存在比较多的噪声, 轮廓线并不是很光滑。经过去噪及平滑处理后, 由图3可见背景及车身上的噪声得到消除, 车身轮廓线得到了比较理想的平滑。观察图4二值化处理后的图像, 基本上区分了背景与物体。但是由于环境比较复杂, 光照情况不一样, 灰度值存在比较大的差异, 造成二值化后的图像中, 车身有一部分没有从背景中区别出来, 而背景中还有一部分并入了车身轮廓。根据图4查找轮廓后的车身轮廓线如图5所示, 可见, 主要的车身轮廓线得到了比较理想的检测。但是如上分析, 还有一部分分布在图像周边比较杂乱的轮廓线。

本文所进一步研究的车身轮廓尺寸检测系统主要关心的是图像的中央部分 (即CCD垂直取像的中间部分) 的情况。利用OpenCV中取感兴趣区域函数cvSetImageROI (image, rect) , 可以取得我们关心的中央部分, 该函数中rect为设置的感兴趣的矩形区域[5]。本文中处理的图像大小为640×480, 而我们现在需要关心的是中间部分120×90范围的图像, 设置rect=cvRect (210, 195, 120, 90) , 其中 (210, 195) 为感兴趣区域矩形左上角起始坐标, 120×90为矩形大小, 经取感兴趣区域处理后的图像如图6所示。可见, 得到的是单一的车身轮廓曲线, 这也是本文进一步研究需要关心的部分。

6 结论

通过实验结果可以看出, 即使在图像情况比较复杂的情况下, 采用OpenCV开发的该车辆轮廓检测系统也可以较为完整的将前景区从背景区域中分离出来, 得到比较理想的车辆轮廓线, 为进一步开发车身外轮廓尺寸系统打下了良好的基础。另外值得注意的是, 采用此设计的算法复杂度并不高, 易于实现, 加上OpenCV库设计高效率性, 可以快捷的实现图像的处理。研究结果表明, 本文提出的车身轮廓检测设计具有较高的可行性。

Intel公司开发OpenCV库为Visual C++开发视觉测量系统提供了极大的方便, 其旨在建立一个完全开放的研究机构使得图像处理及计算机视觉技术在快速发展的PC环境中得到更好地应用, 为用户提供了一整套的图像处理以及图像与模式分析函数, 且这些函数在Intel的处理器上执行是最优的。它相对与其它开发方式具有成本低、速度快、周期短等诸多优点, 应用它开发图像处理程序必将得到更广泛的应用。

摘要:为了获得理想的车辆轮廓线, 提出了一种基于开源计算机视觉库OpenCV的轮廓检测新方法。首先对图像进行形态学去噪、平滑滤波处理和二值化阈值分割等预处理, 获得二值化黑白图像。然后通过轮廓提取和跟踪检测到车辆外轮廓线。在VC++6.0环境下, 利用OpenCV编程实现了此方法。由实验结果看出, 该方法可以较为理想地获得车身外轮廓线信息, 既节省了预处理的时间, 也保证了精度。

关键词:OpenCV,图像预处理,轮廓检测

参考文献

[1]Intel Corporation.Intel open source computer vision library reference Manual, 2001

[2]Bradski G, Kaehler A.Learning OpenCV.O Reilly Media, 2008

[3]刘瑞祯, 于仕琪.OpenCV教程基础篇.北京:北京航空航天大学出版社, 2007

[4]景晓军.图像处理技术及应用.北京:国防工业出版社, 2005

使用行扫描法提取图像轮廓 篇7

轮廓提取是一种十分重要的图像分割方法,同时也是图像分割领域的研究热点和难点。轮廓提取的方法有很多:边缘检测的方法[1]利用了不同区域之间像素灰度值剧烈变化的形式,通过各种边缘检测算子,如:Roberts算子[2](精度高、对噪声敏感)、Sobel算子[3](对噪声具有一定平滑,但精度低)、LOG算子[4,5](算法简单,速度快,但对噪声敏感),检测图像边缘。水平集的方法[6]通过水平集函数的演化来隐含的求解曲线的演化,该方法对初始轮廓的位置敏感,难以分割模糊边界。活动轮廓模型[7],通过灵活的选择初始轮廓、约束力和作用域,得到最佳的分割效果,但是其抗噪性能较差,对于弱边缘的分割效果较差。

本文针对传统方法存在的缺陷和不足,以髋关节轮廓提取为应用背景,提出了基于行扫描的轮廓提取方法。依次对图像各行像素进行扫描,搜索像素信息发生突变的点,得到目标区域的轮廓。髋关节CT图像中各种组织(骨头、骨髓质、肌肉、脂肪)相互交错、连接紧密。此外,由于拍摄环境、反光率等客观因素的影响,导致相邻组织之间的边界比较模糊,骨组织中存在孔洞。因此,在行扫描之前,必须对目标区域的孔洞进行填充。首先,用Graham算法计算目标区域的凸包。然后,在凸包内自动搜索满足条件的种子点进行区域增长,如果区域增长到的像素点都在凸包内,那么增长区域就是目标组织的孔洞,将这些像素划入目标组织。孔洞填充之后,使用行扫描法能够准确得到目标组织的轮廓线。通过多组髋关节CT切片的轮廓提取实验验证,本文的方法运行速度快,能适应各种不同的形状拓扑结构,并且无论目标形状多么复杂,是否存在弱边缘都能够准确的提取出轮廓线。

1 目标区域的孔洞填充

首先对原始图像进行阈值分割,将骨组织从图像中分离出来(如图1(b)所示),然后人工选取种子点,使用区域增长的方法将髋骨从图像中分离出来(如图1(c)所示)。

如图1所示,区域增长之后,髋骨和股骨都存在孔洞。孔洞的边界轮廓也是像素突变的点,因此必须先对目标区域的孔洞进行填充,才能使用行扫描法提取髋关节轮廓线。孔洞填充的方法:首先计算目标区域(洋红色区域。注:因黑白印刷,无法表示颜色,需者请与作者联系。)的凸包,然后在凸包内寻找非洋红色点,以这个点为种子点,进行非洋红色区域增长,如果区域增长的所有像素点都在凸包内,那么这一区域就是目标区域孔洞,将它们划入目标区域。如果区域增长有像素点在凸包外部,那么这一区域不是孔洞,并且这一区域的所有像素点都不能再作为种子点。重复上面的操作,直到凸包内搜寻不到任何非洋红色种子点为止。这样便完成了目标区域的孔洞填充。

1.1 凸包的计算

凸包是计算几何中的概念,用通俗的话来描述就是能够将二维平面的点集包围起来的最小凸多边形。求凸包最常用的方法由Graham算法。

其计算过程如下:1) 首先找到起始点H,即点集中y坐标最小的点中x坐标最小的点,然后将其他点P按向量与x轴的夹角从小到大进行排序。2) 起始点H和第二个点一定是凸包上的点,假设当前待计算的点是pn,在它之前加入凸包的两个点是pn-1,pn-2,在它之后的点为pn+1,如果pn-2,pn+1形成的线段和pn,pn-1形成的直线相交,那么pn就不是凸包上的点,将它舍弃,如果不相交则pn是凸包上的点。如图2(a)所示:H点是起始点,H点和K点是凸包上的点,下一个点是C点,线段DH和直线CK相交(端点D,H在直线异侧),所以C点不是凸包上的点,将它舍弃。下一个点D点,线段LH与直线DK不相交(端点L,H在直线同侧),那么D点是凸包上的点。下一个点L点,线段FK与直线DL相交,所以L点不是凸包上的点,将它舍弃,依次类推直到计算到最后一个点,就可以将凸包计算出来。

根据上面的算法,加以编程实现,并通过对多例髋关节CT切片进行试验,能够得到任何复杂形状的凸包,如图3、图4。

1.2 孔洞填充

得到目标区域的凸包之后,接着对孔洞进行填充。首先在凸包内搜索一个非洋红色点,以这个非洋红色点为种子点,使用区域增长法对非洋红色点进行区域增长,如果增长完成后,所有的像素点都在凸包内,那么将这些像素全部标记为洋红色,如果出现至少一个像素点在凸包外,那么这些像素点都不能划入洋红色区域,并且将它们从非洋红色点中删除。

判断一个点P是否在凸多边形Q内,可用如下的方法:过点p作水平射线l,如果l与Q的边界不相交,则点p在Q的外部,如果l与Q有一个交点,那么点点p在Q的内部,如果l与Q的有两个交点,则点p在Q的外部。如图5所示。

对图3中的例子进行孔洞填充,其效果见图6、图7。

2 行扫描法提取轮廓线

经过区域增长并对目标区域孔洞进行填充之后,目标区域的像素信息同图像其他区域像素存在很大的差别,图像的像素信息在目标区域边界点发生突变。根据这一原理,使用逐行扫描的方法找到每一行发生像素信息突变的点,就能得到目标区域完整轮廓。无论目标区域的形状多么复杂,行扫描法都能够准确的识别到轮廓。例如图8所示的图像,使用传统的轮廓提取方法很难准确的提取轮廓线,而使用行扫描法可以准确的提取出目标轮廓。

判断一个点是否是像素信息发生突变的点需满足以下两个条件:1) 这个点属于目标区域(像素信息为某一固定值);2) 这个点的四邻域中至少存在一个不属于目标区域的像素点(像素信息不同于该点)。那么这个像素点就是目标区域的边界点,如图9所示,洋红色点就是灰色区域的轮廓点。

使用行扫描法提取轮廓线的效果如图10所示:

3 实验结果与对比

根据上面提出的算法,使用VC6.0平台编程实现,编程环境为:处理器:Intel(R) Core(TM)2 Duo CPU E8400 3.00GHz,内存:3.25GB。通过对多例髋关节CT切片实际分割,分析结果如下:图11(a)所示的髋骨存在狭长边缘,并且髋骨下端存在分叉。使用传统的分割方法,如果初始轮廓设置不当,容易计算出狭长边缘的内边界和裂缝的假边缘。而使用本文的方法能够较好的得到髋骨的轮廓线,如图11(b)所示。图12(a)所示的髋骨存在多处孔洞,且边缘信息模糊,使用传统的分割方法,会产生错误的边界信息,无法区分髋骨和股骨的轮廓。使用本文的提出的方法能够得到准确的轮廓线,如图12(b)所示。图13(a)所示的髋骨和股骨位置相近,形状复杂,使用传统的分割方法,不能够将两者的轮廓很好的区别出来,而使用本文的方法可以完整的得到髋骨和股骨的轮廓线。如图13(b)所示。

4 结论

本文研究了孔洞填充方法,通过Graham算法计算目标区域凸包,然后在凸包内寻找非目标区域点进行区域增长,通过凸包来判断增长的区域是否是目标区域的孔洞。运用这一方法,可以对任意形状的目标区域的孔洞进行填充。本文还研究了行扫描提取轮廓线方法,其原理是对整幅图像逐行进行像素扫描,寻找像素信息发生突变的点,如果某一点满足两个条件:1) 这个点属于目标区域;2) 这个点的四邻域中至少存在一个不属于目标区域的像素点。那么这个点就是轮廓像素点。通过大量的髋关节CT切片实验验证,行扫描法计算简单,运行效率高。对于目标组织存在狭长轮廓、分叉、噪声干扰、以及与其他组织存在模糊边界的情况,行扫描法都可以准确的提取出目标组织轮廓线,具有很强的鲁棒性和实用性。

摘要:传统的轮廓提取方法,例如边缘检测、水平集、活动轮廓模型等,存在着对初始轮廓敏感、噪声敏感、难以分割弱边缘和复杂形状轮廓等不足之处。以CT影像中髋关节的轮廓提取为应用背景,提出了一种基于行扫描的轮廓线提取方法。首先,对原始图像进行阈值分割和区域增长,分离出目标区域。然后,对目标区域中的孔洞进行自动填充;在填充过程中,通过目标区域的凸包来判断填充的单连通区域是否在目标区域内。最后,使用逐行扫描的方法搜寻像素信息突变点,得到目标区域的轮廓线。大量的数值实验表明,此算法的运行效率高,对于狭长、分叉、噪声干扰以及存在模糊边界的目标区域都能很好地提取轮廓线。

关键词:行扫描,轮廓,图像分割,凸包,髋关节

参考文献

[1]黄长专,王彪.图像分割方法研究[J].计算机技术与发展,2009,(6):76-79.

[2]雷丽珍.数字图像边缘检测方法的探讨[J].测绘通报,2006,(3).

[3]徐建华著.图像处理与分析[M].北京:科学出版社,1994.

[4]Marr.D著.视觉计算理论[M].姚国正译.北京:科学出版社,1988.

[5]张光年,葛庆平.基于Marr Hildreth算子多尺度图像边缘检测[J].首都师范大学学报,2005.

[6]谢意,杨玲.自适应模型的水平集图像分割方法[J].计算机工程与应用,2011,(47):221-224.

[7]Casselles V.A geometric model for active contours[J].Numer-ische Mathematik,1993,66(1):1-31.

[8]M.Kass,A.Witkin Snake:active contour model[J].Int.J.Computer vision.1988.(1):321-331.

[9]Kyeong-Jun Mun,Hyeon Tae Kang.Active Contour ModelBased 0bject Contour Detection Using Genetie A1gorithm withWaye1et Based Image Preprocessing.[J]International Journal ofControl,Automation,and Systems.2004.2(1):100-106.

上一篇:语文课堂上的提问艺术下一篇:新闻价值的引导作用