(检测技术与自动化装置专业论文)环形屏幕的摄像机标定技术的研究.pdf_第1页
(检测技术与自动化装置专业论文)环形屏幕的摄像机标定技术的研究.pdf_第2页
(检测技术与自动化装置专业论文)环形屏幕的摄像机标定技术的研究.pdf_第3页
(检测技术与自动化装置专业论文)环形屏幕的摄像机标定技术的研究.pdf_第4页
(检测技术与自动化装置专业论文)环形屏幕的摄像机标定技术的研究.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

9 乏7 8 1 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所知, 除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的 研究成果,也不包含为获得北京邮电大学或其他教育机构的学位或证书而使用过的材料。与我 一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处 本人签名:壅盘 本人承担一切相关责任。 日期:垡:i :i ! 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权 保留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅 和借阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印 或其它复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论文 注释:本学位论文不属于保密范围,适用本授权书。 本人签名:壅鳢日期: ! :丝 导师签名:i 主垒i 坠 日期:竺型! :! 堡 环形屏幕的摄像机标定技术的研究 摘要 摄像机标定是计算机视觉领域里从二维图像获取三维空间信息 必不可少的步骤,被广泛应用于三维重建、导航、视觉监控等领域。 摄像机标定的问题近年来在国际计算机视觉会议、欧洲计算机视觉会 议、计算机视觉和模式识别会议、国际模式识别会议以及相关领域的 重要国际杂志| :进行了大量的研究,已经成为计算机视觉领域的一个 热点问题。 摄像机标定的一个重要内容是求解摄像机的内参数,对于该部分 内容的研究,大致可以分为三类,有早期的基于精密加工标定块的传 统标定法,也有基于主动视觉的标定方法,还有近年来讨沦得比较多 的自标定方法。论文首先对图像处理技术中的边缘检测和识别作了研 究,根据摄像机内参数恒定的条件下,绝对二次曲线的像不变的特性, 对平面模板的图像进行边缘检测和识别,获取关键点的坐标数据。对 关键点的坐标数据进行一系列分析和数学运算,获得摄像机的内参数 矩阵。然后,把环形屏幕作为摄像机标定的个具体研究对象,由于 环形屏幕自身的特殊性,投影在环形屏幕上的图像会发生几何失真。 研究图像在环形屏幕上发牛失真的原因,综合分析环形屏幕上的投影 图像和环形屏幕、投影仪等实际物理环境,设计出几何校正算法,并 加以实现。 关键词:边缘检测摄像机标定内参数环形屏幕几何校正 t h er e s e a r c ho fa n n u l a rs c r e e n l nc a m m e r ac a l i b r a t i o n a b s t r a c t c a m e r ac a l i b r a t i o ni st h ek e ys t e po fg e t t i n gt h r e e d i m e n s i o n a l i n f o r m a t i o nf r o mp l a n a ri m a g ei nc o m p u t e rv i s i o n ,a n di ti sw i d e l yu s e d i nt h r e e d i m e n s i o n a l r e b u i l d i n g ,n a v i g a t i o n ,c y b e r - s t a k e o u t ,a n d e t c c a m e r ac a l i b r a t i o ni sl a r g e l yr e s e a r c h e da n dd i s c u s s e di ni c c v , e c c v , c v p r ,i c p r ,a n dr e l a t i o n a li m p o r t a n tm a g a z i n e sr e c e n t l y ,w h i c hi sn o w b e c o m i n gah o t s p o ti nc y b e r - v i s i o n o n eo ft h em a i nc o n t e n t si nc a m e r ac a l i b r a t i o ni s s o l v i n gt h e i m a e r - p a r a m e t e r so ft h ec a m e r a a st ot h i sp a r t ,t h e r ea r ea b o u tt h r e e c l a s s e s t h ef i r s ti st h ec a l i b r a t i o nb a s e do nt h ec u b ep r e c i s e l yp r o c e s s e d ; t h es e c o n di st h ec a l i b r a t i o nb a s e do na c t i v ev i s i o n ;t h et h i r di st h e a u t o - c a l i b r a t i o nb e i n gt a l k e dal o tn o w t h ep a p e rf i r s t l yd or e s e a r c hi n d e t e c t i n ga n di d e n t i 匆i n gt h ee d g eo ft h ei m a g e ,a n da f t e rd o i n gt h a t ,g e t t h ec o o r d i n a t eo ft h ek e yp o i n ti n p l a n a rp i c t u r e i tp r o v e dt h a tt h e i n n e r - p a r a m e t e ro ft h ec a m e r au n c h a n g e d ,w ec a ng e tt h ei n n e r - p a r a m e t e r a c c o r d i n gt h es e r i e so fa n a l y z i n ga n dm a t h e m a t i cc o u n t i n g w et a k ea n a n n u l a rs c r e e na sar e s e a r c ho b j e c ti nc a m e r ac a l i b r a t i o n b e c a u s eo ft h e p a r t i c u l a r i t yo ft h ea n n u l a rs c r e e n ,t h ei m a g ep r o j e c t e do nt h ea n n u l a r s c r e e nw i l ld i s t o r t a f t e ra n a l y z et h er e a s o na n dt h ep h y s i c a le n v i r o n m e n t , d e s i g nt h ea r i t h m e t i co fr e v i s i n ga n dc a r r yo u t k e yw o r d s :e d g ed e t e c t ,c a m e r ac a l i b r a t i o n ,i n n e r - p a r a m e t e r , a n n u l a r s c r e e n ,g e o m e t r yr e v i s e 4 第一章绪论 1 1 摄像机标定问题的提出 摄像机标定是计算机视觉领域里从_ 维图像获取三维空问信息必不可少的 步骤,被广泛应用于三维重建、导航、视觉监控等领域。自从1 9 9 2 年f a u g e r a s 、 i j u o n g 、m a y b a n k 等首次提出线性( 小孔) 摄像机自标定的思想后“ ,摄像机自 标定及其相天研究目前已成为计算机视觉领域的研究热点之一。近年来在国际计 算机视觉会议( j c c v ) 、欧洲计算机视觉会议( e c c v ) 、计算机视觉和模式识别会 议( c v p r ) 、幽际模式识别会议( i c p r ) 以及相灭领域的重要围际杂志上大量相 天文章的问世充分说明了这一点。 摄像机标定可以分为二种:传统标定方法、基十主动视觉的标定方法和自标 定方法”1 。传统标定方法引需要使用经过精密加t 的标定块,通过建赢标定块上 i 维坐标p , f h 的点j 其图像点问的对应,来计算摄像机的内外参数。该方法的优 点在于可以获得较高的精度,但标定过程费时费力,不适用于在线标定和不j 能 使用标定块的场合。基于主动视觉的标定方法需要控制摄像机做某些特殊运 动,如绕光一d 旋转或纯平移等,利用这种运动的特殊性可以计算出计算机内参数。 该方法的优点足算法简单,往往能获得线性解,缺点是不能适用于摄像机运动未 知或无法控制的场合( 如手持摄像机等) 。以上两种标定方法均利用到场景或摄 像机运动的信息,对了一场景任意、摄像机运动未知的最般的情形,则都无能为 力。 2 ( ) 世纪9 0 年代初, :a u g e r a s 、l u o n g 、m a y b a n k 等首先提出了白标定的概念川, 使得在场景未知和摄像机任意运动的一般情形卜标定成为可能。f a u g e r a s 等从 摄影几何的角度出发证明了每两幅图像问存在着两个形如k r u p p a 方程的二次非 线性约束,通过直接求解k r a p p a 方程组可以解出内参数。鉴于直接求解k r u p p a 方程的困难,人们又提出了分层逐步标定的思想,即首先对图像序列做射影重建, 在此基础上再仿射标定和欧氏标定。分层逐步标定的方法6 1 以h a r t l e y 的q r 分 解法、t r i g g s 的绝对二次曲面法、p o l l e f e y s 的模约束法等为代表。针对在实际 应用中摄像机内参数会实时改变的情形,人们进一步提出了可变内参数下摄像机 自标定的概念。h e y d e n 、p o l l e e y s 等从理论上证明:在内参数满足一定条件 的日口提下,可变内参数下的自标定是完全可能的,p o l l e f e y s 等还给出了一种比 较实用的可变内参数下的摄像机自标定方法。从本质上说【8 】,所有自标定方法都 x 摹蛩蔓 ! ,坦- 一。量 土 只是利用了摄像机内参数自身存在的约束,这些约束与场景和摄像机的运动无 关,这也是自标定方法优越的原因。 t r i g g s 最早将绝对二次曲面的概念引入到自标定的研究中来,将摄像机 内参数的自身约束转移到对绝对:次曲面约束的纽带。基于绝对二次曲线( 面) 的白标定方法与基于r r u p p a 方程的方法在本质上是一致的,都是利用了绝对二 次曲线在欧氏变换下的不变性,但在输入多幅图像并能得到一致刳影重建的情形 下,前者较后者更具有优势,其根源在于绝对二次曲面包含了无穷远平面和绝对 二次f | :f f 线的所有信息,且基于绝对二次曲面的自标定方法又是在对所有图像做射 影重建的基础上计算绝对二次曲面的,从而保证了无穷远平面对所有图像的一敛 性。与此相比,基丁k r u p p a 方程的方法是在两两图像之间建立方程mj ,在列方 程过程q 1 已将支持绝对二次曲线的无穷远平面参数消去,所以当输入更多的图像 对时,不能保证该无穷远平面的致性。 1 2 摄像机标定的分类 1 2 1 求解内参数 摄像机的内参数1 是摄像机固有的与光、电特征以及几何结构有关的参数, 内参数的标定是摄像机标定的重要内容,也是f 一步对环形屏幕进行标定的基 础。在平面模板的基础上,利用绝对二次曲线和绝对二次曲线的像的不变性的原 理,求解出摄像机的内参数。 摄像机标定需要涉及到这样几个坐标系m 】,如图1 1 所示, y , f 。 上彳钉 i 移 立。 图1 1 摄像机标定的相关坐标系 其中,q 一五i 乏为摄像机坐标系,q 为镜头光圈中心,t 、i 轴分别 别与c c d 上光敏单元排练水平与垂直方向平行。o - - x y z 为世界坐标系,是假想 的实际空问的一个固定的参考坐标系,可以设在空间任何位置。0 - u ,v t 为图像 平面坐标系,在采用图像采集卡及用计算机进行处理时,像元数是从图像平面0 点开始的,o - - u v 相对于0 _ u 矿有一个平移量( ,v 0 ) 。 内参数常以内参数矩阵k 表示,k = l0 卢l ,其巾,口、分别是u 轴、 卜s “。1 00 1 矿轴方向上的尺度因子,口为正, 0 正l u 。负,( , t o ,) 为 点坐标,s 为畸变 因子,剐u 轴和v 轴不垂直时所导致的个系数。 1 2 2 求解外参数 摄像机从空间某一位置丌始,绕匕轴旋转一个平角口,再绕x 。轴旋转一个 倾角妒,然后再绕乙轴旋转一个摆角,最后平移至0x y z 中( 确,y o ,z o ) 点。 其中,臼、仍叭x 。、y o 、z 。称为外参数【”1 ,即旋转矩阵r 和平移向量t 。 外参数的求解需要在三维环境下求解,通常是利用摄像机对一个投影到环形 屏幕上的图像的采集,获取多幅图像,并对这些图像进行关键点匹配。图像关键 点的匹配,即从不同图像中找出同空问点在这些图像上投影点的过程。图像问 特征点的匹配是视觉领域早的一个瓶颈问题,许多重要的视觉理论与应用,如三 维重建、监控、分析等都是在假设匹配问题已经解决的前提下展开。关键点匹配 的过程中要注意消除 要的三类误匹配:同一特征点对应多个匹配;不应匹配上 的点由于其灰度相天值较高而被收入;由于视差或其他原凼,某些应该匹配上的 点对没有收入。 从图像之问的匹配结果出发,利用关键点匹配部分的鲁棒性算法估计出基础 矩阵f ,结合前面求解出的摄像机内参数,进行分析计算,求解出本质矩阵f , 并归一化。再对本质矩阵进行奇异值分解,求出外参数,即运动参数r 、t 。由 外参数可知道摄像机在三维空间的位置变化。 1 3 论文工作 1 3 1 论文的主要工作 本文围绕摄像机标定的问题,对图像的边缘检测与识别、求解摄像机内参数 作了理沧和实验的研究i :作,在此基础上,以环形屏幕为一个具体的对象,对其 实现摄像机的外部标定。 图像的边缘检测与识别是摄像机标定的基础,摄像机的标定是在对摄像机采 集获取的二维或三维图像进行分析处理的结果上展开进行的。图像的边缘是图像 的最基本的特征。所谓边缘( 或边沿) 足指其周围像素灰度有阶跃变化或屋顶变 化的那砦像素的集合。边缘广泛存在于物体与背景之问、物体与物体之间、基j 与基元之问。因此,它是图像分析与处理所依赖的重要基础。 摄像机的内参数是摄像机固有的与光、电特征以及几何结构有关的参数,内 参数的标定是摄像机标定的重要内容,也是三维重建、求解运动参数、实现外部 标定的基础。本论文采用在平面模板的基础上,对模板多角度拍摄多副图像,利 用绝对二次曲线和绝对二次曲线的像的不变性的原理,求解m 摄像机的内参数。 环形屏幕的外部标定是一个具体应用。f | = | 丁环形屏幕自身的特殊性,使得投 影到屏幕上的图像产生儿何变形。通过对摄像机采集的投影到环幕上的图像进行 分析,结合环形屏幕、投影仪等外部的物理环境,设计算法,把投影前的图像进 行预处理,实现儿何校i e ,使得投影到环幕上的图像不产乍失真。 1 3 2 论文的框架结构 根据以上所述论文的主要内容,列出论文的框架结构如下: 第一章为论文的绪论部分,概述了课题研究的背景,摄像机标定的发展情况、 分类、内容,并说叫了沦文的主要内容和框架结构。 第二章为图像的边缘检测和识别,这足后续研究的基础。对图像的边缘检测 和识别作了理论研究,其中还包括了i i o u g h 变换,h o u g h 变换是图像处理领域中 检测直线的重要手段。在理沦分析的基础卜,通过编程对其应用实现。 第三章为求解摄像机的内参数,内参数的求解为摄像机标定的基础。采用在 平面模板的基础上,对模板多角度拍摄多副图像,利用绝对二次曲线和绝对二次 曲线的像的不变性的原理,求解出摄像机的内参数。 第四章为对环形屏幕的标定。由于环形屏幕自身的特殊性,投影到屏幕上的 图像会发生失真。对其投影的图像进行分析,结合外部物理环境,设计几何校正 算法,并予以实现。 第五章为总结与展望,从论文达到的目标出发,对研究工作进行总结,并对 可以进一步完善之处作了展望。 0 第二章图像的边缘检测与识别 利用计算机进行图像处理有两个同的:是产牛更适合人观察和识别的图 像;二是希望能利用计算机自动识别和理解图像。无论为了哪种目的,图像处理 中关键的一步就是对包含有大量各式各样景物信息的图像进行分解。分解的最终 结果是图像被分解成一些具有某种特征的最小成分,称为图像的基,二。相对于整 副图像来说,这种基元更容易被快速处理。 图像的特征”5 | 指图像场中可用作标志的属性。它可以分为图像的统计特征 和图像的视觉特征两类。图像的统计特征是指一些人为定义的特征,通过变换刁 能得到,如图像的直方图、矩、频潜等等;图像的视觉特征是指人的视觉可直接 感受到的白然特征,如区域的亮度、纹理或轮廓等。利用这两类特征把图像分解 成一系列有意义的目标或区域的过程称为图像的分割。 图像的边缘是图像的最基本特征。所谓边缘( 或边沿) 是指其周围像素灰度 有阶跃变化或屋顶变化的那些像素的集合。边缘广泛存在于物体与背景之问、物 体与物体之间、基元与苯元之问。冈此,它是图像分割所依赖的重要特征。 2 1 边缘检测 2 1 1 边缘检测的原理 物体的边缘是由灰度不连续性所反映的。经典的边缘提取方法【l “是考察图 像的每个像素在某个领域内灰度的变化,利用边缘邻近一阶或二阶方向导数变化 规律。用简单的方法检测边缘。这种方法称为边缘检测局部算予法。 边缘的种类【l7 l 可以分为两种:种称为阶跃性边缘,它两边的像素的灰度 值有着显著的不同;另一种称为屋顶状边缘,它位于灰度值从增加到减少的变化 转折点。图2 一1 分别给出了这两种边缘的示意图及相应的一阶方向导数、二阶 方向导数的变化规律。对于阶跃性边缘二阶方向导数在边缘处呈零交叉:而对于 屋顶状边缘,二阶方向导数在边缘处取极值。 如果个像素落在图像中某一个物体的边界上,那么它的领域将成为一个灰 度级的变化带。对这种变化最有用的两个特征是灰度的变化率和方向,它们分别 以梯度向量的幅度和方向来表示。 北爨:靴一基、:冀t 捌r * , : 事 图2l 阶跃性边缘和屋顶状边缘处一阶及二阶导数变化规律 2 1 2 几种边缘检测算子的比较 边缘检测算子检查每个像素的领域并对灰度变化率进行量化,也包括方向的 确定。大多数使用基于方向导数掩膜求卷积的方法。 下面介绍几种常用的边缘检测算子“。 r o b e r t s 边缘检测算子 r o b e r t s 边缘检测算子是一种利用局部差分算子寻找边缘的算子。它由 下式给出: g ( x ,y ) = “- 厂( 工,y ) + 厂【x + i ,y + 1 ) 】2 + 厂( x ,j ,) 一,( x + 1 ,y + 1 ) 】2 0 2 其中,f ( x ,y ) 是具有整数像素坐标的输入图像,平方根运算使该处理类 似于在人类视觉系统中发生的过程。 s o b e l 边缘算子 下图所示的两个卷积形成了s o b e l 算子,图像中的每个点都用这两个核 做卷积,一个核对通常的垂直边缘响应最大,而另一个对水平边缘响应 最大。两个卷积的最大值作为该点的输出位。运算结果是一副边缘幅度 鬈k 丛太 lt,。山 ,ill,_若 图像。 12l o( )( ) l2l r 一1oi 一2o2 1( )l 表2 1s o b e l 箅子的两个卷积核 p t e w j t t 边缘算子 下图所示的两个卷积核形成了p r e w i t t 边缘算子。和使用s o b e l 算了的 方法一样,图像中的每个点都用这两个核进行卷积,取最大值作为输出。 p r e w jt t 算子也产生一种边缘幅度图像。 lll 000 1l1 i ol 10l 1ol 表2 2pre w il t 边缘算了的两个卷积核 k r i s c h 边缘算子 下图所示的8 个卷积核组成了k i r s c h 边缘算子。图像中的每个点都用8 个 掩膜进j j 二卷积,每个掩膜都对某个特定边缘方向作出最大响应,所有8 个方 向中的最大值作为边缘幅度图像的输出。最大响应掩模的序弓构成了边缘方 向的编码。 一 + 0+ 5+ 0 3o一3 333 333 303 + 5+ 5+ 5 333 一 + bo3 5+ 53 + 533 十503 + 533 表2 3k r i s c h 边缘算子的8 个卷积核 333 30+ 5 3十5。b + 5- 53 + bo一3 333 高斯一拉普拉斯算子 拉普拉斯算子是对二维函数进行运算的二阶导数算予。通常使用的拉普拉斯 算子如下图所示。 o1 0 1 41 0一l0 一li 1 1 8一l 1一l一1 表24 高斯一拉普拉斯算子的两个卷积核 由于拉普拉斯算子是一个二阶导数,它将在边缘处产生一个陡峭的零交叉, 如图2l 所示。 由于噪声点对边沿检测有一定的影响,所以高斯一拉普拉斯算予是效果较好 的边缘检测器。它把高斯平滑滤波器和拉普拉斯锐化滤波器结合了起来,先 平滑掉噪声,再进行边沿检测,所以效果更好。常用的高斯一拉普拉斯算子 是5 5 的模板: 它的脉冲响应和传递函数如图2 2 所示。 咎参 瓯 圃 图2 2 高斯一拉普拉斯算子( a ) 脉冲响应( b ) 传递函数 2 4 4 4 2 一 一 一 一 一 4 0 8 o 4 4 8 抖8 o 4 0 8 0 4 2 4 4 4 2 一 一 一 一 一 j ? 、? i 鼍* 上述边缘算子产生的边缘图像看来很相似,因此它们看起来像一个绘画者从 图片中作出的线条图。r o b e r t 算子是2 2 算子,对具有陡峭的低噪声图像响应 最好。其他三个算子都是3 3 算子,对灰度渐变和噪声较多的图像处理得较好。 2 i 3 边缘检测的应用 根据边缘检测的理论和各算子的算法,用v is u a i ( :+ 编程实现各算了的边 缘枪测,下面以r o b e r t 算子柃测边缘的火键代码示例说明。 由于边缘检测的理论是根据像素的灰度值变化进行分析的,所以图像在进行 边缘检测前需要灰度化处理。 半术木丰术术半半术术半丰术芈半牢术半术术半半术术半半半丰半术丰丰木术丰丰术丰丰木丰丰丰丰丰丰术丰丰丰丰术术丰木木术丰丰丰丰木木丰丰木木丰 $ 函数名称: $ r o b e r t d i b ( ) 参数: l p s t ri p d i b b it s l o n gi w i d t h $ l o n gi h e i g h t $ 返回值: $ b o o 十说明: 指向源d i b 图像指针 源图像宽度( 象素数,必须是4 的倍数) 源图像高度( 象素数) 边缘检测成功返回t r u e ,否则返回f a l s e 。 该函数用r o b e r t 边缘检测算子对图像进行边缘检测运算。 要求目标图像为灰度图像。 丰丰丰木木丰水木木丰丰丰丰木丰丰丰木丰木丰木木木丰丰木丰木丰丰半半丰丰半木丰术半半丰术牢木术半木木丰术木丰术术木丰术术术术丰术术 b o o lw i n a p ir o b e r t d i b ( l p s t ri p d i b b i t s ,l o n gl w i d t h ,l o n gi h e i g h t ) 指向源图像的指针 l p s t ri p s r c : 指向缓存图像的指针 l p s t ri p d s t : 指向缓存d i b 图像的指针 l p s t rlp n e w d l b b i t s : 卜i 】o c a i h n e w d 【 b j t s : 循环变量 l o n gi : l o n gj : 像素值 d o u b l er e s u l : u n s i g n e dc h a rp i x e l 4 : 暂时分配内存,以保存新图像 h n e w d i b bit s = e o c a a 11o c ( i h n d ,1 wjd t h i h e i g h t ) i f ( h n e w d i b b i t s = = n u l l ) 分配内存失败 r e t u r nf a l s e : 锁定内存 l p n e w d i b b i t s = ( c h a r ) i ( ) c a l l o c k ( h n e w d i b b it s ) 初始化新分配的内存,设定初始值为2 5 5 l p d s t = ( c h a r $ ) 1p n e w d i b b it s : m e m s e t ( 1 p d s t ,( b y t e ) 2 5 5 , w i d t h $ i h e i g h t ) : 使用水平方向的结构元素进 j 腐蚀 f o r ( j = l h e i g h t 一1 :j 0 :j 一) f f o r ( i = 0 :i i w i d t h 一1 :i + + ) 由于使用2 2 的模板,为防止越界,所以不处理最下边和最右边的两列像素 指向源图像第j 行,第i 个象素的指针 l p s r c = ( c h a r ) 1 p d i b b i t s + l w i d t h j + i : 指向目标图像第j 行,第i 个象素的指针 l p d s t = ( c h a r ) i p n e w d i b b i t s + 1 w i d t h j + i : 取得当前指针处2 * 2 区域的像素值,注意要转换为u n s i g n e dc h a r 型 p i x e l 0 = ( u n s i g n e dc h a r ) * l p s r c : pl x e l 1 = ( u n s i g n e dc h ar ) $ ( 1 p s f c + 1 ) : pl x e l 2 = ( u n s i g n e dc h a r ) ( 1 p s r ci w d t h ) : p i x e l1 3 = ( u n s i g n e dc h a f ) ( 1 p s r c i w i d t h + 1 ) : 计算目标图像巾的当前点 s q r t ( ( p i x e l 0 pl x e l 3 ) ( p i x e l 0 p i x e l 3 ) + ( p ix e l 1 一p ix e 2 ) 十( p ix e l i 一p i x e 2 ) ) : * i p d s t = ( t i n sig n e dc h ar _ ) f e s u ll : 复制腐蚀后的图像 m e m c p y ( i p d i b b i t s ,i p n e w d i b b it s ,i w i d t h 十i h e i g h t ) 释放内存 l o c a l u n l o c k ( h n e w d i b b i t s ) l o c al f r e e ( h n e w d i b b it s ) : 返回 f e tl i u l lt r u e : 现时求解摄像机内参数的平而模板进行边缘检测处理,几种算子处理的结果 如下图所示。 图2 3 半面模板原图 图24r o b e r t 算子检测 图2 5s o b e l 算子检测 图26p r e w il t 算了检测 图2 7k r i s c h 算子检测图2 8 高斯一拉普拉斯算子检测 2 2 边缘识别 2 2 1 边缘识别的原理 边缘识别的目的口5 1 是获得图像的外部轮廓特征。在必要的情况下应用一定 的方法表达轮廓的特征,为图像的形状分析做准备。 二值图像轮廓提取的算法非常简单,就是掏空内部点;如果原图中有一点为 黑,且它的8 个相邻点都是黑色时( 此时该点是内部点) ,则将该点删除。 根据形态学的内容,这相当于用一个九个点的结构元素对原图像进行腐蚀, 再用原图像减去腐蚀图像。 边缘识别的基本方法口6 1 是:先根据某些严格的“探测准则”找出目标物体 轮廓上的像素,再根据这些像素的某些特征用一定的“跟踪准则”找出目标物体 上的其他像素。下面介绍两种二值图像的边缘识别算法【2 7 】。 首先找到第一个边界像素的“探测准则”是:按照从左到右,从下到上的顺 黔r l i i : i _ ;一。_ jj 序搜索,找到的第个黑点一定是最左r 方的边界点,记为a 。它的右、右上、 上、左上四个邻点中至少有一个是边界点,记为b 。从b 开始找起,按右、右h 、 上、左一h 、左、左下、下、右下的顺序找相邻点中的边界点c 。如果c 就是a 点 则表明已经转 广一圈,程序结束;否则从( :点继续找,直到找到a 为l 。判断 是不是边界很容易:如果它的上下左右p u 个邻点都不是黑点则它即为边界点。( 即 跟踪准则) 。 这种算法要对每个边界像素周围的八个点进行判断,计算量比较人。 另外一种跟踪准则是按照上面所说的“探测准则”找到最下方的边界点。以 这个边界点起始,假设已经沿顺时针方向环绕整个图像一圈找到了所有的边界 点。由于边界是连续的,所以每一个边界点部可以用这个边界点对前一个边界点 所张的角度来表示。因此可以使用下面的跟踪准则:从第一个边界点开始,定义 初始的搜索方向为沿左上方;如果左上方的点是黑点,则为边界点,否则搜索方 向顺时针旋转4 5 度。这样一直到找到第一个黑点为止。然后把这个黑点作为新 的边界点,在当前搜索方向的基础上逆时针旋转9 0 度,继续用同样的方法继续 搜索下一个黑点,直到返回最初的边界点为止。 2 2 2 边缘识别的应用 根据边缘识别的理论,采用v i s u a lc + 。编程实现,主要有边缘提取和边缘 跟踪的c o n t o u r d i b 0 和t r a c e d i b 0 函数。下而以边缘提取函数c o n t o u r d i b 0 为 例分析说明。 半水半丰芈半术芈术半半术术半丰术术半半术术半术术半术半木芈半丰术半术半半术术术半木丰丰丰木丰半丰术木丰丰丰丰丰丰丰丰术丰丰丰木丰丰木丰丰 $ 函数名称: c o n t o u r d i b0 参数: l p s t r1p d i b b i t s l o n ( ;l w i d t h l o n gi h e i g h t 返回值: b o o l $ 说明: 指向源d i b 图像指针 源图像宽度( 象素数,必须是4 的倍数) 源图像高度( 象素数) 运算成功返回t r u e ,否则返回f a l s e 。 $ 该函数用于对图像进行轮廓提取运算。 $ 要求目标图像为只有0 和2 5 5 两个灰度值的灰度图像。 拳术丰木木木木木木木木术木木丰木术丰丰木术术半丰丰术丰丰术丰丰丰丰丰丰丰丰丰术木书书木丰半木丰丰木术木:i :术术卑术木丰术术半半术半木半木木 b o o lw t n a p ic o n t o u r d i b ( l p s t rl p d l b b i t s ,l o n gi w i d t h ,l o n gl t l e i g h t ) 指i 句源图像的指针 l p s t r l p s r c : 指向缓存图像的指针 l p s t r 1 p d s t : 指向缓存d i b 图像的指针 i p s t ri p n e w d i b b i t s : h l o c m h n e w d i b b i t s : 循环变量 1 0 n gi : l o n gj : u n s i g n e dc h a rn ,e ,s ,w ,n e ,s e ,n w ,s w : 像素值 u n s i g n e dc h a rp i x e : 暂时分配内存,以保存新图像 h n e w d i b b it s 2 l o c a l a l l o c ( l h n d ,l w i d t h 术1 h e i g h t ) : i f ( h n e w d i b b i t s = = n u l l ) 分配内存失败 r e t u r nf a l s e : 锁定内存 l p n e w d i b b i t s = ( c h a r ) l o c a ll o c k ( h n e w d i b b i t s ) : 初始化新分配的内存,设定初始值为2 5 5 1 p d s t = ( c h a r ) l p n e w d f b b i t s : m e m s e t ( 1 p d s t ,( b y t e ) 2 5 5 ,1 w i d t h $ 1 h e i g h t ) : f o r ( j = l :j l h e i g h t 一1 :j + 十) f o r ( i = 1 :i l w i d t h l :i + + ) 指向源图像倒数第j 行,第i 个象素的指针 l p s f c = ( c h a r ) i p d i b b i t s + l w i d t h j + i : 飘一 。_ i 【 指向目标图像倒数第j 行,第i 个象素的指针 l d d s t = ( c h a r 十) l p n e w dl b b i t s 1 w i d t h j i : 取得当前指针处的像素值,注意要转换为u n s i g n e dc h a r 型 p i x e l = ( u n s ig n e dc h a r ) * l p s r c : 嗣标图像中含有0 利2 5 5 外的其它灰度值 if ( p i x e l = = 0 ) * l p d s t = ( u n s i g n e dc h a r ) 0 : n w = ( u n s i g n e dc h a r ) ( i p s r c + l _ l | i d t h 1 ) : n = ( u n s i g n e dc h a r ) $ ( 1p s r c + 1 w i d th ) : n e = ( u n s i g n e dc h a r ) ( 1 p s r c + t w i d t h + i ) : w = ( u n s i g n e dc h a r ) ( 1 p s r c 1 ) : e = ( u n s i g n e dc h a r ) $ ( p s r c + 1 ) ; s w = ( ln s i g n e dc h a r ) ( 1 p s r c i w i d t h1 ) : s = f u n s i g n e dc h a r ) $ ( 1 p s r c l w i d t h ) : s e = ( u n s i g n e dc h a r ) $ ( 【p s tc 一1 w i d t h + 1 ) , n n 果相邻的八个点都是黑点 if ( n w n + n e + w + e + s w 十s + s e = = o ) * l p d s t = ( u n s i g n e dc h a r ) 2 5 5 : ) j 复制腐蚀后的图像 m e m c p y ( 1 p d i b b i t s ,l p n e w d i b b i t s ,i w i d t h t h e i g h t ) : 释放内存 l o c a l u n o c k ( h n e w d i b b i t s ) : 1 o c a lf r e e ( h n e w d i b b it s ) : 返回 r e t i a r nt r j e : 由边缘识别的理论可知,边缘识别的目标图像应为只有0 和2 5 5 两个灰度值 ;。j 茧fs i 蔓j 、j 一 ;一。i t 的灰度图像。实验结果如下图所示。 图27 原始图像 2 3h o u g h 变换及其应用 图2 8 边缘识别后的图像 2 3 1h o u g h 变换的原理 直线y = m x 吣可用极唑标表示为: r = x c o s ( o ) + 2 s i n ( o ) 其中( ,臼) 定义了一个从原点到线上最近点的向量,这个向量与该直线垂直, 如图2 9 所示。 考虑m j 一个以参数r 和0 定义的二维空间,x 、y 平面的任意一直线对应了 该空问的一个点。因此,x 、y 平面的任意一直线的h o u g h 变化是r 、臼空问中的 一个点。 现在考虑。”x 、y 平面的一个特定的点 ,m ) 。过该点的直线可以有很多, 每一条都对应rr 、p 空间中的一个点。然而这些点必须是满足以x ,和y 作为常 量时的等式。因此在参数空间中与x 、y 空间中所有这些直线对应的点的轨迹是 一条正弦型曲线,而x 、y 平面上的任一点对应了r 、口空间的一条正弦曲线。 如果有一组位于由参数和酿决定的直线上的边缘点,则每个边缘点对应了 r 、曰空间的一条正弦型曲线。所有这些魄线必交于点( r 0 ,酿) ,因为这是它们 共享的一条直线的参数。 为了找出这些点所构成的直线段,我们可以将r 、毋空间量化成许多小格。 根据每一个( ,) 点代a o 的量化值,算出各个r ,所得值( 经量化) 落在某个 小格内,便使该小格的计数累加器加1 ,当全部( x ,y ) 点变换后,对小格进行 检验,有大的计数值的小格对应于共线点,其( r ,臼) 可用作直线拟合参数。 有小的计数值的各小格一般反映非共线点,应丢弃不用。 溺裔 厂 ,:_ | | 1 j j ,、蚓lv-、 出 0 l 一 a l f p ( a ) 一条直线的极坐标表示:( b ) x 、y 平面;( c ) r 、口平面 图2 9h o u g h 变换 可以看出,如果r 和占量化得过粗,则参数空间的凝聚效果较差,找不出直 线的准确的r 和0 的值:反过来,如果r 和口量化得过绌,那么计算量将增大, 需要兼顾这两方而,取合适得量化值。 若图像中各点是边沿元,而且梯度方向已求出,在寻找有无直线边沿时可在 其梯度方向内把0 精细量化,其他0 角则粗量化,这样在不增加总的量化小格数 的情况下,可以提高榆测真线边沿的方向角的精度。 对于圆”,可写出其方程: ( x 一甜) 2 + ( y 一6 ) 2 = r 2 这时参数空间增加到三维,由a 、b 、r 组成。如果仍然像找直线那些直接计 算,那么计算量和存储空间都将湿著增大。 如果己知有圆的边沿元,而且边沿元为已知,那么可以简化为二维的问题。 因为把上式对x 取导数,有: 2 ( x - a ) + 2 ( y - 6 ) 掣:0 m 这表示参数a 和b 不独立,利用这个关系式以后,解l 式只需用两个参数( 例 如b 和r ) 组成参数空间,计算量减少了很多。 在人为景物中圆形物体经常出现,经过透视成像后由圆变成椭圆。寻找椭圆 的算法一1 可以仿照寻找圆的算法来进行。 设椭圆方程为: ! ! 二墨! :+ ! ! 二! ! ! :一1 日2b 2 取导数有: ( x - 一x o ) 一i - 掣立- 0 a 6 d x 可以看到这里有三个独立参数。如果椭圆主轴不平行于坐标轴,则可写为 爿x 2 + b x y + ( 2 + d 譬+ e y + 1 = 0 在利用椭圆边沿的方向信息后,在映射空间的独立参数仍有四个之度,为了 简化求椭圆的计算,还需要其他的特殊解法。 2 3 2h o u g h 变换的应用 根据h o u g h 变换的理论,用v i s u a lc + + 编程实现,程序主要分为三个步骤 进行: ( 1 ) 参数空间转换为r 、0 的空间,r 方向上的量化数目图像对角线方 向像素数,0 方向上的量化数目为9 0 。 ( 2 ) 搜索图像巾的极大值点,并作记录。 ( 3 ) 根据极大值点共线的原理,按行( 或按列) 画出直线。 关键代码分析如下 c 2 d i m a g e * c 2 d i m a g e :h o u g h l i t l e ( c p o i n t a b r a yl i h e s c 2 d i m a g e l o u g h l m a g e ,b y t ev a li d v a l u e ,b y t et h r e s i i o l d ) 1 、投影生成参数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论