一种基于边缘检测的彩色结构光解码方法

文档序号:6623968阅读:121来源:国知局
一种基于边缘检测的彩色结构光解码方法
【专利摘要】一种基于边缘检测的彩色结构光解码方法,其特征在于:投影机和摄像机都通过电缆与计算机连接,在计算机中,使用已经授权专利“一种彩色结构光图像编码方法”(授权号:ZL201010160418.0)生成一幅彩色结构光编码图像,并存储在计算机中;确定每个特征点的颜色,再通过与彩色结构光编码图像中的颜色块的颜色值作比较,就可以确定彩色结构光编码图片中每个特征点与彩色结构编码图像中的颜色块的匹配关系,为待测物体的三维重构作好了准备。其提高解码精度,缩短解码时间,本发明提出了一种基于边缘检测的彩色结构光解码方法。
【专利说明】-种基于边缘检测的彩色结构光解码方法

【技术领域】
[0001] 本发明涉及一种基于边缘检测的彩色结构光解码方法,属于计算机视觉技术领 域。

【背景技术】
[0002] 在非接触三维测量技术中,视觉三维测量技术是获取物体三维信息的有效技术手 段之一,它无需接触被测物体表面,是以三维视觉传感器所得到的图形图像为基础来恢复 物体的三维形状,具有速度快、效率高、自动化程度高、造价低等特点。目前,视觉三维测量 技术的重点发展方向包括有结构光、立体图像、莫尔法、全息法、激光雷达等方法,其中结构 光法具有成本低、分辨率高和速度快等优点,被公认为是实用性最强的光学非接触三维测 量技术,受到重视并得到应用。
[0003] 在结构光方法中,相比投射点、线光束的结构光扫描法,结构光编码方法向物体投 射编码图案,大大提高了测量速度并解决了扫描法图案混淆等问题,因此结构光编码方法 以其准确度高、测量速度快、成本低等优点在三维重构、工业测量等领域有着广泛的应用前 景。随着处理彩色图像的彩色传感器和硬件价格变得更容易接受,彩色图像处理技术应用 也日益广泛。彩色结构光编码方法是一种空间编码方式,它用一幅结构光编码图像就可以 覆盖整个空间而得到空间中所有的特征信息,减少了分时编码方法中的时间复杂性。彩色 结构光编码方法具有实时性强、特征信息丰富、解析度高等优点,被广泛应用于自动加工、 高速在线检测、质量控制、CAD/CAM、汽车制造、实物仿形、服装加工、鞋模等领域,是反向工 程和计算机视觉中的重要组成部分。
[0004] 在以往的研究中,彩色结构光编码方法多用于空间编码和直接编码,而且大多数 都能用于动态物体的测量,但由于受到CCD摄像机的颜色保真度及分辨率的影响,很容易 受到CCD摄像机的影响而无法得到真正的实际效果和精度,不容易找到清晰的、无二义性 的对应,对三维物体的测量精度不高,很难用于精确物体的测量。彩色结构光的编码方法和 解码技术在结构光的数据获取中起着至关重要的作用而影响着系统的测量精度、速度和可 靠性。


【发明内容】

[0005] 为了更好地从彩色结构光编码图像中提出特征点,提高解码精度,缩短解码时间, 本发明提出了一种基于边缘检测的彩色结构光解码方法。
[0006] 一种基于边缘检测的彩色结构光解码方法,由投影机,投影屏幕,摄像机,计算机, 待测物体组成,其特征在于:投影机和摄像机都通过电缆与计算机连接,在计算机中,使用 已经授权专利"一种彩色结构光图像编码方法"(授权号:ZL201010160418.0)生成一幅彩 色结构光编码图像,并存储在计算机4中; 具体方法按以下步骤实现: 步骤1、 步骤1. 1、共使用八种颜色块对彩色结构光编码图像进行编码,其中:第一个颜色块为 红色,其RGB值分别为255,0,0,用1标记此颜色;第二个颜色块为绿色,其RGB值分别为0, 255,0,用2标记此颜色;第三个颜色块为蓝色,其RGB值分别为0,0, 255,用3标记此颜色; 第四个颜色块为黑色,其RGB值分别为0,0,0,用4标记此颜色;第五个颜色块为青色,其 RGB值分别为0, 255, 255,用5标记此颜色;第六个颜色块为品红色,其RGB值分别为255, 0, 255,用6标记此颜色;第七个颜色块为黄色,其RGB值分别为255, 255,0,用7标记此颜 色;第八个颜色块为白色,其RGB值分别为255, 255, 255,用8标记此颜色; 步骤1.2、将所述的八种颜色块分为两组,一组是由1、2、3、5、6、7六种颜色块组成,称 为彩色元组;另一组是由4、8两种颜色块组成,称为黑白元组; 步骤1. 3、使用黑白元组中的元素组成两种类型的3X3方形区域,称为微区域;这两种 类型的微区域均由黑色、白色交替排列形成。在第一种类型中,3X3方形区域的(1,1)、(1, 3)、(2,2)、(3,1)、(3,3)块为白色,其余块为黑色,称为白微区域;在第二种类型中,每一块 的颜色都与第一种类型中相同位置块的颜色相反,称为黑微区域; 步骤1. 4、根据彩色元组中六种彩色颜色块的灰度值的不同将彩色元组划分为两组,一 组是由1、3、6三种彩色颜色元素组成,称为高值彩色元组,另一组是由2、5、7三种颜色元素 所组成,称为低值彩色元组; 步骤1. 5、利用彩色元组中的六种彩色颜色生成步骤1. 3所述的微区域的两种类型的 一层彩色边界,称为彩色原子边界。在第一种类型的彩色原子边界中,左上方第一个颜色块 为高值彩色元组中的元素,称为高值彩色原子边界;在第二种类型的彩色原子边界中,左上 方第一个颜色块为低值彩色元组中的元素,称为低值彩色原子边界。在这两种类型彩色原 子边界生成的过程中,采用以下原则:与低值彩色元组中元素相邻的颜色块为在高值彩色 元组中随机选取的元素,与高值彩色元组中元素相邻的颜色块为在低值彩色元组中随机选 取的元素; 步骤1.6、使用低值彩色原子边界和白微区域构成5X5的方形区域,称为低值原子区 域;使用高值彩色原子边界和黑微区域构成5X5的方形区域,称为高值原子区域; 步骤1. 7、根据具体问题的需要,使用高值原子区域和低值原子区域的排列来生成彩色 结构光编码图像。在彩色结构光编码图像生成的过程中,采用以下原则:在高值原子区域 的上方、下方、左边、右边相邻的原子区域只能为低值原子区域,在低值原子区域的上方、下 方、左边、右边相邻的原子区域只为高值原子区域;并且在彩色结构光编码图像中,任意两 个高值原子区域的彩色原子边界都不能具有相同的颜色块组成结构,同时任意两个低值原 子区域的彩色原子边界都不能具有相同的颜色块组成结构; 步骤2、计算机通过投影机将步骤1中产生的彩色结构光编码图像经过待测物体调制 后投影到投影屏幕上,生成调制后的投影图像; 步骤3、计算机通过摄像机拍摄步骤2生成的调制后的投影图像,得到彩色结构光编码 图片; 步骤4、设彩色结构光编码图片共有m行像素,每行有η个像素点,得到由这些像素点构 成的raXη阶矩阵Η ;设H (i,j )为矩阵Η中的第i行第j列元素,设H (i,j )的RGB值分 别为r (i,j),g (i,j),b (i,j);将每个像素点的RGB值都按照公式P (i,j)= (r (i, j) Xx+g (i,j) Xy+b (i,j) Xz)/3,x+y+z=l 灰度化,得到 H (i,j)的灰度值,用 P (i,j) 表示; 步骤5、构造矩阵Pk,设pk (i,j)是矩阵Pk的第i行第j列元素,对i=1,2,_ mpk(i, 1) = P(i, 1); Pk(i,2)= (P(i, l)+P(i,2)+P(i,3))/3 ; Pk(i,j)= (P(i,j-2)+2XP(i,j一i)+3xp(i,j)+2xp(i, j+i)+p(i,j+2) ) /9, j~3, 4,…,n - 2 ; Pk (i,n-l) = (P (i,n-2) +P (i,n-1) +p (i,n)) /3 ; Pk (i, n) =P(i, n); 步骤6、根据矩阵Pk的第i行元素,得到第i行元素的横向灰度波形曲线,在第i行元 素的横向灰度波形曲线中,横坐标为矩阵Pk中第i行元素所对应的j值,纵坐标为匕(i, 步骤7、由第i行元素的横向灰度波形曲线中的所有波峰和波谷点处的横坐标,从左至 右构造向量E (i),i = l,2,...,m;设E (i)中有c (i)个元素,E (i) (j)是向量E () 的第 j 个元素 ,j = 1,2.·.,c (i); 步骤8、对于i = l,2...,m;构造向量f (i),设F (i) (j)是向量F (i)的第η·个元 素,其中

【权利要求】
1. 一种基于边缘检测的彩色结构光解码方法,由投影机,投影屏幕,摄像机,计算机,待 测物体5部分组成;其特征在于:投影机和摄像机都通过电缆与计算机连接;在计算机中, 使用已经授权专利"一种彩色结构光图像编码方法"(授权号:ZL201010160418. 0)生成一 幅彩色结构光编码图像,并存储在计算机中; 具体方法按以下步骤实现: 步骤1、 步骤1. 1、共使用八种颜色块对彩色结构光编码图像进行编码,其中:第一个颜色块为 红色,其RGB值分别为255,0,0,用1标记此颜色;第二个颜色块为绿色,其RGB值分别为0, 255,0,用2标记此颜色;第三个颜色块为蓝色,其RGB值分别为0,0, 255,用3标记此颜色; 第四个颜色块为黑色,其RGB值分别为0,0,0,用4标记此颜色;第五个颜色块为青色,其 RGB值分别为0,255,255,用5标记此颜色;第六个颜色块为品红色,其RGB值分别为255, 0,255,用6标记此颜色;第七个颜色块为黄色,其RGB值分别为255,255,0,用7标记此颜 色;第八个颜色块为白色,其RGB值分别为255,255,255,用8标记此颜色; 步骤1.2、将所述的八种颜色块分为两组,一组是由1、2、3、5、6、7六种颜色块组成,称 为彩色元组;另一组是由4、8两种颜色块组成,称为黑白元组; 步骤1.3、使用黑白元组中的元素组成两种类型的3X3方形区域,称为微区域;这两种 类型的微区域均由黑色、白色交替排列形成;在第一种类型中,3X3方形区域的(1,1)、(1, 3)、(2,2)、(3,1)、(3,3)块为白色,其余块为黑色,称为白微区域;在第二种类型中,每一块 的颜色都与第一种类型中相同位置块的颜色相反,称为黑微区域; 步骤1. 4、根据彩色元组中六种彩色颜色块的灰度值的不同将彩色元组划分为两组,一 组是由1、3、6三种彩色颜色元素组成,称为高值彩色元组,另一组是由2、5、7三种颜色元素 所组成,称为低值彩色元组; 步骤1. 5、利用彩色元组中的六种彩色颜色生成步骤1. 3所述的微区域的两种类型的 一层彩色边界,称为彩色原子边界;在第一种类型的彩色原子边界中,左上方第一个颜色块 为高值彩色元组中的元素,称为高值彩色原子边界;在第二种类型的彩色原子边界中,左上 方第一个颜色块为低值彩色元组中的元素,称为低值彩色原子边界;在这两种类型彩色原 子边界生成的过程中,采用以下原则:与低值彩色元组中元素相邻的颜色块为在高值彩色 元组中随机选取的元素,与高值彩色元组中元素相邻的颜色块为在低值彩色元组中随机选 取的元素; 步骤1.6、使用低值彩色原子边界和白微区域构成5X5的方形区域,称为低值原子区 域;使用高值彩色原子边界和黑微区域构成5X5的方形区域,称为高值原子区域; 步骤1. 7、根据具体问题的需要,使用高值原子区域和低值原子区域的排列来生成彩色 结构光编码图像;在彩色结构光编码图像生成的过程中,采用以下原则:在高值原子区域 的上方、下方、左边、右边相邻的原子区域只能为低值原子区域,在低值原子区域的上方、下 方、左边、右边相邻的原子区域只为高值原子区域;并且在彩色结构光编码图像中,任意两 个高值原子区域的彩色原子边界都不能具有相同的颜色块组成结构,同时任意两个低值原 子区域的彩色原子边界都不能具有相同的颜色块组成结构; 步骤2、计算机(4)通过投影机(1)将步骤1中产生的彩色结构光编码图像经过待测物 体(5)调制后投影到投影屏幕(2)上,生成调制后的投影图像; 、少骤3、计算机(4)通过摄像机(3)拍摄步骤2生成的调制后的投影图像,得到彩色结 构光编码图片; 、步^4、设彩色结构光编码图片共有m行像素,每行有η个像素点,得到由这些像素点构 成的tnXn阶矩阵Η;设H (i,j)为矩阵η中的第i行第j列元素,设H (i,^的阳^;^分 别为r (i,j),g (i,j),b (i,j);将每个像素点的RGB值都按照公式p (i, j)=卜(土, j)^<X+g (1, j) Xy+b (i, j) χζ)/3, x+y+z = 1 灰度化,得到 H (i'j)的灰度值,用 p j) 表示; ' 步骤5、构造矩阵匕,设匕(i,j)是矩阵pk的第i行第j列元素,对i=1,2… m Pk(i, 1) = P(i, 1); ' ' Pk(i,2)= (P(i, l)+P(i,2)+P(i,3))/3 ; Pk(i, J')= (P(i, j-2)+2XP(i, j-l)+3XP(i, j)+2XP(i, j+l)+P(i, j+2) ) /9, j-3, 4, ···,n - 2 ; Pk (i,n-l) = (P (i,n-2) +P (i,n-1) +p (i,n)) /3 ; Pk (i,n)=P(i,n); 步骤6、根据矩阵Pk的第i行元素,得到第i行元素的横向灰度波形曲线,在第i行元 素的横向灰度波形曲线中,横坐标为矩阵Pk中第i行元素所对应的j值,纵坐标为匕(i, j); 步骤7、由第i行元素的横向灰度波形曲线中的所有波峰和波谷点处的横坐标,从左至 右构造向量E (i),i = 1,2, 设E (i)中有c (i)个元素,E (i) (j)是向量P rn 的第 j 个元素,j = 1,2..., c (i); 步骤8、对于i二l,2...,m;构造向量F (i),设F (i) (j)是向量F (i)的第冬 素,其中
为J丨兀 步骤9、构造矩阵G,设G (i,j)是矩阵G的第i行,第j列元素,对i = i 2 ... · =1,2...,c (i);有 G(i,j)二(i,F(i)(j)); ' 少骤10、构造矩阵Ps,设Ps (i,j)是矩阵Ps的第;[行第j列兀素,对j=l,2, ... n右 Ps(l,j)= p(l,j); ' '胃 Ps(2, j)= (P(l, j)+P(2, j)+P(3, j))/3; Ps(i, j)= (P(i_2, j)+2XP(i-l,j)+3XP(i,j)+2XP(i+l,j)+ P(i+2, j) ) /9, i-3, 4, ···, m - 2 ; Ps (m-1,j ) = (P (m-2, j) +P (m-ι, j) +p (m, j)) /3 ; Ps (m, j) =P(m, j); 步骤11、根据矩阵Ps的第j列元素,得到第j列元素的纵向灰度波形曲线,在第]· 素的纵向灰度波形曲线中,横坐标为矩阵Ps中第j列元素所对应的i值,纵坐标为p j ) ; s 步骤I2、由第j列元素的纵向灰度波形曲线中的所有波峰和波谷点处的横坐标 至右构造向量U (j),j = l,2...,n;设U (j)中有d (j)个元素,U (j) (i)是向醤T'T 的第i个元素,i=l,2,…,d (j); 步骤13、对于j = 1,2...,n;构造向量V (j),设V (j) (i)是向量v (j)的第i个元 素,其中
步骤14、构造矩阵W,设W (i,j)是矩阵W的第i行,第j列元素,对j = l,2,...,n;i=l,2,.",d (j);有W (i, j)=(V (j) (i),j); 步骤15、设G (e,f,t)表示G (e,f)的第t个分量,t = 1,2 ;对于i = 1, 2,…d (j), 从左至右判断,对j=l,2,…n;找到V (j) (i)等于G (e,f,1)并且j等于g (e, f,2)的i 和j值,然后将与这些i,j值对应的W (i,j)依次保存到矩阵Q的第i行; 步骤 16、设 Q (i,j,t)表示 Q (i,j)的第 t 个分量,t = 1,2 ;H (Q(i,j,1) ,Q(i,j,2)) 为彩色结构光编码图片中的特征点,其中i=l, 2,…,d (j) ; j=l,2,…,c (i);构造矩阵 Z,矩阵 Z 的桌 i 订弟 j 列兀素为 Z(i,j) = (R (i,j),G (i,j),B (i,j)),i=l,2,...,d (j)'j_l,2,...,c (i);其中 R (i,j),G (i,j),B (i,j)分别为 H (Q(i,j,l),Q(i,j,2)) 的RGB值; 步骤l7、彩色结构光编码图像中的颜色块共有8种颜色,分别用^,%,…,a8表示,其中 颜色ax的RGB值分别用rx,gx,bx表示,X = 1,2,…,8 ; 步骤18、设% = 0,q=l,2,…,8 ;构造矩阵D,其中D (i,j,s)表示Z(i, j)到点(rs,g, bs)的距离,所述距离的定义如下: 1 5
其中 i=l,2,…,d ;j=l,2,…,c ;s=l,2,…,8 ; 步骤 19、对固定 i,j 的Z (i,j),设D (i,j,q)是{(D (i,j,l),D (i,j,2),...,D (i, j,k)}中的最小值且q值最小,Nq = Nq+1 ;构造矩阵Iq,其中Iq (h, y)为矩阵Iq的第h行 第 y 列元素,y= (Nq,1) = Z (i,j,l),Iq (Nq,2) = Z (i,j,2),Iq (Nq,3) = Z (i,j,3); 对i=l, 2, ···,d,j=l,2, ···,c,重复步骤19中的上述过程; 如果对于每一个q = 1,2,…,8都有Nq = Μ,,那么彩色结构光编码图片中的特征点的 颜色确定完毕,否则继续执行步骤20 ; 步骤20、根据以下公式修改%,a2,…,a8的RGB值,
q=l, 2,…,8 ; Μ, = Nq,q=l,2,…,8 ;转而执行步骤18 ; 通过以上步骤可以快速提取彩色结构光编码图片中的特征点,并确定每个特征点的颜 色,再通过与彩色结构光编码图像中的颜色块的颜色值作比较,就可以确定彩色结构光编 码图片中每个特征点与彩色结构编码图像中的颜色块的匹配关系,为待测物体(5)的三维 重构作好了准备。
【文档编号】G06T7/00GK104217446SQ201410408084
【公开日】2014年12月17日 申请日期:2014年8月19日 优先权日:2014年8月19日
【发明者】韩成, 张超, 蒋振刚, 赵义武, 薛耀红, 杨华民, 范静涛 申请人:长春理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1