CN104217446A - 一种基于边缘检测的彩色结构光解码方法 - Google Patents
一种基于边缘检测的彩色结构光解码方法 Download PDFInfo
- Publication number
- CN104217446A CN104217446A CN201410408084.2A CN201410408084A CN104217446A CN 104217446 A CN104217446 A CN 104217446A CN 201410408084 A CN201410408084 A CN 201410408084A CN 104217446 A CN104217446 A CN 104217446A
- Authority
- CN
- China
- Prior art keywords
- color
- colored
- matrix
- tuple
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种基于边缘检测的彩色结构光解码方法,其特征在于:投影机和摄像机都通过电缆与计算机连接,在计算机中,使用已经授权专利“一种彩色结构光图像编码方法”(授权号:ZL201010160418.0)生成一幅彩色结构光编码图像,并存储在计算机中;确定每个特征点的颜色,再通过与彩色结构光编码图像中的颜色块的颜色值作比较,就可以确定彩色结构光编码图片中每个特征点与彩色结构编码图像中的颜色块的匹配关系,为待测物体的三维重构作好了准备。其提高解码精度,缩短解码时间,本发明提出了一种基于边缘检测的彩色结构光解码方法。
Description
技术领域
本发明涉及一种基于边缘检测的彩色结构光解码方法,属于计算机视觉技术领域。
背景技术
在非接触三维测量技术中,视觉三维测量技术是获取物体三维信息的有效技术手段之一,它无需接触被测物体表面,是以三维视觉传感器所得到的图形图像为基础来恢复物体的三维形状,具有速度快、效率高、自动化程度高、造价低等特点。目前,视觉三维测量技术的重点发展方向包括有结构光、立体图像、莫尔法、全息法、激光雷达等方法,其中结构光法具有成本低、分辨率高和速度快等优点,被公认为是实用性最强的光学非接触三维测量技术,受到重视并得到应用。
在结构光方法中,相比投射点、线光束的结构光扫描法,结构光编码方法向物体投射编码图案,大大提高了测量速度并解决了扫描法图案混淆等问题,因此结构光编码方法以其准确度高、测量速度快、成本低等优点在三维重构、工业测量等领域有着广泛的应用前景。随着处理彩色图像的彩色传感器和硬件价格变得更容易接受,彩色图像处理技术应用也日益广泛。彩色结构光编码方法是一种空间编码方式,它用一幅结构光编码图像就可以覆盖整个空间而得到空间中所有的特征信息,减少了分时编码方法中的时间复杂性。彩色结构光编码方法具有实时性强、特征信息丰富、解析度高等优点,被广泛应用于自动加工、高速在线检测、质量控制、CAD/CAM、汽车制造、实物仿形、服装加工、鞋模等领域,是反向工程和计算机视觉中的重要组成部分。
在以往的研究中,彩色结构光编码方法多用于空间编码和直接编码,而且大多数都能用于动态物体的测量,但由于受到CCD摄像机的颜色保真度及分辨率的影响,很容易受到CCD摄像机的影响而无法得到真正的实际效果和精度,不容易找到清晰的、无二义性的对应,对三维物体的测量精度不高,很难用于精确物体的测量。彩色结构光的编码方法和解码技术在结构光的数据获取中起着至关重要的作用而影响着系统的测量精度、速度和可靠性。
发明内容
为了更好地从彩色结构光编码图像中提出特征点,提高解码精度,缩短解码时间,本发明提出了一种基于边缘检测的彩色结构光解码方法。
一种基于边缘检测的彩色结构光解码方法,由投影机,投影屏幕,摄像机,计算机,待测物体组成,其特征在于:投影机和摄像机都通过电缆与计算机连接,在计算机中,使用已经授权专利“一种彩色结构光图像编码方法”(授权号: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、使用黑白元组中的元素组成两种类型的3×3方形区域,称为微区域;这两种类型的微区域均由黑色、白色交替排列形成。在第一种类型中,3×3方形区域的(1,1)、(1,3)、(2,2)、(3,1)、(3,3)块为白色,其余块为黑色,称为白微区域;在第二种类型中,每一块的颜色都与第一种类型中相同位置块的颜色相反,称为黑微区域;
步骤1.4、根据彩色元组中六种彩色颜色块的灰度值的不同将彩色元组划分为两组,一组是由1、3、6三种彩色颜色元素组成,称为高值彩色元组,另一组是由2、5、7三种颜色元素所组成,称为低值彩色元组;
步骤1.5、利用彩色元组中的六种彩色颜色生成步骤1.3所述的微区域的两种类型的一层彩色边界,称为彩色原子边界。在第一种类型的彩色原子边界中,左上方第一个颜色块为高值彩色元组中的元素,称为高值彩色原子边界;在第二种类型的彩色原子边界中,左上方第一个颜色块为低值彩色元组中的元素,称为低值彩色原子边界。在这两种类型彩色原子边界生成的过程中,采用以下原则:与低值彩色元组中元素相邻的颜色块为在高值彩色元组中随机选取的元素,与高值彩色元组中元素相邻的颜色块为在低值彩色元组中随机选取的元素;
步骤1.6、使用低值彩色原子边界和白微区域构成5×5的方形区域,称为低值原子区域;使用高值彩色原子边界和黑微区域构成5×5的方形区域,称为高值原子区域;
步骤1.7、根据具体问题的需要,使用高值原子区域和低值原子区域的排列来生成彩色结构光编码图像。在彩色结构光编码图像生成的过程中,采用以下原则:在高值原子区域的上方、下方、左边、右边相邻的原子区域只能为低值原子区域,在低值原子区域的上方、下方、左边、右边相邻的原子区域只为高值原子区域;并且在彩色结构光编码图像中,任意两个高值原子区域的彩色原子边界都不能具有相同的颜色块组成结构,同时任意两个低值原子区域的彩色原子边界都不能具有相同的颜色块组成结构;
步骤2、计算机通过投影机将步骤1中产生的彩色结构光编码图像经过待测物体调制后投影到投影屏幕上,生成调制后的投影图像;
步骤3、计算机通过摄像机拍摄步骤2生成的调制后的投影图像,得到彩色结构光编码图片;
步骤4、设彩色结构光编码图片共有m行像素,每行有n个像素点,得到由这些像素点构成的m×n阶矩阵H;设H(i,j)为矩阵H中的第i行第j列元素,设H(i,j)的RGB值分别为r(i,j),g(i,j),b(i,j);将每个像素点的RGB值都按照公式P(i,j)=(r(i,j)×x+g(i,j)×y+b(i,j)×z)/3,x+y+z=1灰度化,得到H(i,j)的灰度值,用P(i,j)表示;
步骤5、构造矩阵Pk,设Pk(i,j)是矩阵Pk的第i行第j列元素,对i=1,2,…,m,有
Pk(i,1) = P(i,1);
Pk(i,2)=(P(i,1)+P(i,2)+P(i,3))/3;
Pk(i,j)=(P(i,j-2)+2×P(i,j-1)+3×P(i,j)+2×P(i,j+1)+P(i,j+2))/9,
j=3,4,…,n-2;
Pk(i,n-1)=(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值,纵坐标为Pk(i,j);
步骤7、由第i行元素的横向灰度波形曲线中的所有波峰和波谷点处的横坐标,从左至右构造向量E(i),i=1,2,…,m;设E(i)中有c(i)个元素,E(i)(j)是向量E(i)的第j个元素,j=1,2…,c(i);
步骤8、对于i=1,2…,m;构造向量F(i),设F(i)(j)是向量F(i)的第j个元素,其中
步骤9、构造矩阵G,设G(i,j)是矩阵G的第i行,第j列元素,对i=1,2,….,m;j=1,2…,c(i);有G(i,j)=(i,F(i)(j));
步骤10、构造矩阵Ps,设Ps(i,j)是矩阵Ps的第i行第j列元素,对j=1,2,…,n,有
Ps(1,j)= P(1,j);
Ps(2,j)=(P(1,j)+P(2,j)+P(3,j))/3;
Ps(i,j)=(P(i-2,j)+2×P(i-1,j)+3×P(i,j)+2×P(i+1,j)+ P(i+2,j))/9,
i=3,4,…,m-2;
Ps(m-1,j)=(P(m-2,j)+P(m-1,j)+P(m,j))/3;
Ps(m,j)=P(m,j);
步骤11、根据矩阵Ps的第j列元素,得到第j列元素的纵向灰度波形曲线,在第j列元素的纵向灰度波形曲线中,横坐标为矩阵Ps中第j列元素所对应的i值,纵坐标为Ps(i,j);
步骤12、由第j列元素的纵向灰度波形曲线中的所有波峰和波谷点处的横坐标,从左至右构造向量U(j),j=1,2…,n;设U(j)中有d(j)个元素,U(j)(i)是向量U(j)的第i个元素,i=1,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=1,2,...,n;i=1,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=1,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=1,2,…,d(j);j=1,2,…,c(i);构造矩阵Z,矩阵Z的第i行第j列元素为Z(i,j)=(R(i,j),G(i,j),B(i,j)),i=1,2,…,d(j);j=1,2,…,c(i);其中R(i,j),G(i,j),B(i,j)分别为H(Q(i,j,1),Q(i,j,2))的RGB值;
步骤17、彩色结构光编码图像中的颜色块共有8种颜色,分别用a1,a2,…,a8表示,其中颜色ax的RGB值分别用rx,gx,bx表示,x=1,2,…,8;
步骤18、设Nq=0,q=1,2,…,8;构造矩阵D,其中D(i,j,s)表示Z(i,j)到点(rs,gs,bs)的距离,所述距离的定义如下:
其中i=1,2,…,d;j=1,2,…,c;s=1,2,…,8;
步骤19、对固定i,j的Z(i,j),设D(i,j,q)是{(D(i,j,1),D(i,j,2),…,D(i,j,k)}中的最小值且q值最小,Nq=Nq+1;构造矩阵Iq,其中Iq(h,y)为矩阵Iq的第h行第y列元素,y=1,2…,8;Iq(Nq,1)=Z(i,j,l),Iq(Nq,2)=Z(i,j,2),Iq(Nq,3)=Z(i,j,3);
对i=1,2,…,d,j=1,2,…,c,重复步骤19中的上述过程;
如果对于每一个q=1,2,…,8都有Nq=Mq,那么彩色结构光编码图片中的特征点的颜色确定完毕,否则继续执行步骤20;
步骤20、根据以下公式修改a1,a2,…,a8的RGB值,
q=1,2,…,8;
Mq=Nq,q=1,2,…,8;转而执行步骤18;
通过以上步骤可以快速提取彩色结构光编码图片中的特征点,并确定每个特征点的颜色,再通过与彩色结构光编码图像中的颜色块的颜色值作比较,就可以确定彩色结构光编码图片中每个特征点与彩色结构编码图像中的颜色块的匹配关系,为待测物体5的三维重构作好了准备。
本发明的积极效果是可以快速有效地提取彩色结构光编码图片的特征点,并确定特征点的颜色,以对彩色结构光编码图片进行解码。该方法可以有效地消除彩色结构光编码图片中的噪声和颜色干扰,提高了彩色结构光解码精度,可以推广到其它各类基于彩色结构光的三维重建领域,包括与建模、检测技术有关的特征识别、工业设计、荧幕检测、多投影校正等领域。
附图说明
图1是一种基于边缘检测的彩色结构光解码方法所需设备构成图,此图也是说明书摘要附图。其中:1为投影机,2为投影屏幕,3为摄像机,4为计算机,5为待测物体。
具体实施方式
下面结合附图对本发明做进一步的描述:如图1所示,一种基于边缘检测的彩色结构光解码方法,由投影机1,投影屏幕2,摄像机3,计算机4,待测物体5组成;其特征在于:投影机1和摄像机3都通过电缆与计算机4连接;在计算机4中,使用已经授权专利“一种彩色结构光图像编码方法”(授权号: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、使用黑白元组中的元素组成两种类型的3×3方形区域,称为微区域;这两种类型的微区域均由黑色、白色交替排列形成。在第一种类型中,3×3方形区域的(1,1)、(1,3)、(2,2)、(3,1)、(3,3)块为白色,其余块为黑色,称为白微区域;在第二种类型中,每一块的颜色都与第一种类型中相同位置块的颜色相反,称为黑微区域。
步骤1.4、根据彩色元组中六种彩色颜色块的灰度值的不同将彩色元组划分为两组,一组是由1、3、6三种彩色颜色元素组成,称为高值彩色元组,另一组是由2、5、7三种颜色元素所组成,称为低值彩色元组。
步骤1.5、利用彩色元组中的六种彩色颜色生成步骤1.3所述的微区域的两种类型的一层彩色边界,称为彩色原子边界。在第一种类型的彩色原子边界中,左上方第一个颜色块为高值彩色元组中的元素,称为高值彩色原子边界;在第二种类型的彩色原子边界中,左上方第一个颜色块为低值彩色元组中的元素,称为低值彩色原子边界。在这两种类型彩色原子边界生成的过程中,采用以下原则:与低值彩色元组中元素相邻的颜色块为在高值彩色元组中随机选取的元素,与高值彩色元组中元素相邻的颜色块为在低值彩色元组中随机选取的元素。
步骤1.6、使用低值彩色原子边界和白微区域构成5×5的方形区域,称为低值原子区域;使用高值彩色原子边界和黑微区域构成5×5的方形区域,称为高值原子区域。
步骤1.7、根据具体问题的需要,使用高值原子区域和低值原子区域的排列来生成彩色结构光编码图像。在彩色结构光编码图像生成的过程中,采用以下原则:在高值原子区域的上方、下方、左边、右边相邻的原子区域只能为低值原子区域,在低值原子区域的上方、下方、左边、右边相邻的原子区域只为高值原子区域;并且在彩色结构光编码图像中,任意两个高值原子区域的彩色原子边界都不能具有相同的颜色块组成结构,同时任意两个低值原子区域的彩色原子边界都不能具有相同的颜色块组成结构。
步骤2、计算机4通过投影机1将步骤1中产生的彩色结构光编码图像经过待测物体5调制后投影到投影屏幕2上,生成调制后的投影图像。
步骤3、计算机4通过摄像机3拍摄步骤2生成的调制后的投影图像,得到彩色结构光编码图片。
步骤4、设彩色结构光编码图片共有m行像素,每行有n个像素点,得到由这些像素点构成的m×n阶矩阵H;设H(i,j)为矩阵H中的第i行第j列元素,设H(i,j)的RGB值分别为r(i,j),g(i,j),b(i,j);将每个像素点的RGB值都按照公式P(i,j)=(r(i,j)×x+g(i,j)×y+b(i,j)×z)/3,x+y+z=1灰度化,得到H(i,j)的灰度值,用P(i,j)表示。
步骤5、构造矩阵Pk,设Pk(i,j)是矩阵Pk的第i行第j列元素,对i=1,2,…,m,有
Pk(i,1) = P(i,1);
Pk(i,2)=(P(i,1)+P(i,2)+P(i,3))/3;
Pk(i,j)=(P(i,j-2)+2×P(i,j-1)+3×P(i,j)+2×P(i,j+1)+P(i,j+2))/9,
j=3,4,…,n-2;
Pk(i,n-1)=(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值,纵坐标为Pk(i,j)。
步骤7、由第i行元素的横向灰度波形曲线中的所有波峰和波谷点处的横坐标,从左至右构造向量E(i),i=1,2,…,m;设E(i)中有c(i)个元素,E(i)(j)是向量E(i)的第j个元素,j=1,2…,c(i)。
步骤8、对于i=1,2…,m;构造向量F(i),设F(i)(j)是向量F(i)的第j个元素,其中
步骤9、构造矩阵G,设G(i,j)是矩阵G的第i行,第j列元素,对i=1,2,….,m;j=1,2…,c(i);有G(i,j)=(i,F(i)(j))。
步骤10、构造矩阵Ps,设Ps(i,j)是矩阵Ps的第i行第j列元素,对j=1,2,…,n,有
Ps(1,j)= P(1,j);
Ps(2,j)=(P(1,j)+P(2,j)+P(3,j))/3;
Ps(i,j)=(P(i-2,j)+2×P(i-1,j)+3×P(i,j)+2×P(i+1,j)+ P(i+2,j))/9,
i=3,4,…,m-2;
Ps(m-1,j)=(P(m-2,j)+P(m-1,j)+P(m,j))/3;
Ps(m,j)=P(m,j)。
步骤11、根据矩阵Ps的第j列元素,得到第j列元素的纵向灰度波形曲线,在第j列元素的纵向灰度波形曲线中,横坐标为矩阵Ps中第j列元素所对应的i值,纵坐标为Ps(i,j)。
步骤12、由第j列元素的纵向灰度波形曲线中的所有波峰和波谷点处的横坐标,从左至右构造向量U(j),j=1,2…,n;设U(j)中有d(j)个元素,U(j)(i)是向量U(j)的第i个元素,i=1,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=1,2,...,n;i=1,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=1,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=1,2,…,d(j);j=1,2,…,c(i);构造矩阵Z,矩阵Z的第i行第j列元素为Z(i,j)=(R(i,j),G(i,j),B(i,j)),i=1,2,…,d(j);j=1,2,…,c(i);其中R(i,j),G(i,j),B(i,j)分别为H(Q(i,j,1),Q(i,j,2))的RGB值。
步骤17、彩色结构光编码图像中的颜色块共有8种颜色,分别用a1,a2,…,a8表示,其中颜色ax的RGB值分别用rx,gx,bx表示,x=1,2,…,8;
步骤18、设Nq=0,q=1,2,…,8;构造矩阵D,其中D(i,j,s)表示Z(i,j)到点(rs,gs,bs)的距离,所述距离的定义如下:
其中i=1,2,…,d;j=1,2,…,c;s=1,2,…,8。
步骤19、对固定i,j的Z(i,j),设D(i,j,q)是{(D(i,j,1),D(i,j,2),…,D(i,j,k)}中的最小值且q值最小,Nq=Nq+1;构造矩阵Iq,其中Iq(h,y)为矩阵Iq的第h行第y列元素,y=1,2…,8;Iq(Nq,1)=Z(i,j,l),Iq(Nq,2)=Z(i,j,2),Iq(Nq,3)=Z(i,j,3);
对i=1,2,…,d,j=1,2,…,c,重复步骤19中的上述过程;
如果对于每一个q=1,2,…,8都有Nq=Mq,那么彩色结构光编码图片中的特征点的颜色确定完毕,否则继续执行步骤20。
步骤20、根据以下公式修改a1,a2,…,a8的RGB值,
q=1,2,…,8;
Mq=Nq,q=1,2,…,8;转而执行步骤18。
通过以上步骤可以快速提取彩色结构光编码图片中的特征点,并确定每个特征点的颜色,再通过与彩色结构光编码图像中的颜色块的颜色值作比较,就可以确定彩色结构光编码图片中每个特征点与彩色结构编码图像中的颜色块的匹配关系,为待测物体5的三维重构作好了准备。
Claims (1)
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、使用黑白元组中的元素组成两种类型的3×3方形区域,称为微区域;这两种类型的微区域均由黑色、白色交替排列形成;在第一种类型中,3×3方形区域的(1,1)、(1,3)、(2,2)、(3,1)、(3,3)块为白色,其余块为黑色,称为白微区域;在第二种类型中,每一块的颜色都与第一种类型中相同位置块的颜色相反,称为黑微区域;
步骤1.4、根据彩色元组中六种彩色颜色块的灰度值的不同将彩色元组划分为两组,一组是由1、3、6三种彩色颜色元素组成,称为高值彩色元组,另一组是由2、5、7三种颜色元素所组成,称为低值彩色元组;
步骤1.5、利用彩色元组中的六种彩色颜色生成步骤1.3所述的微区域的两种类型的一层彩色边界,称为彩色原子边界;在第一种类型的彩色原子边界中,左上方第一个颜色块为高值彩色元组中的元素,称为高值彩色原子边界;在第二种类型的彩色原子边界中,左上方第一个颜色块为低值彩色元组中的元素,称为低值彩色原子边界;在这两种类型彩色原子边界生成的过程中,采用以下原则:与低值彩色元组中元素相邻的颜色块为在高值彩色元组中随机选取的元素,与高值彩色元组中元素相邻的颜色块为在低值彩色元组中随机选取的元素;
步骤1.6、使用低值彩色原子边界和白微区域构成5×5的方形区域,称为低值原子区域;使用高值彩色原子边界和黑微区域构成5×5的方形区域,称为高值原子区域;
步骤1.7、根据具体问题的需要,使用高值原子区域和低值原子区域的排列来生成彩色结构光编码图像;在彩色结构光编码图像生成的过程中,采用以下原则:在高值原子区域的上方、下方、左边、右边相邻的原子区域只能为低值原子区域,在低值原子区域的上方、下方、左边、右边相邻的原子区域只为高值原子区域;并且在彩色结构光编码图像中,任意两个高值原子区域的彩色原子边界都不能具有相同的颜色块组成结构,同时任意两个低值原子区域的彩色原子边界都不能具有相同的颜色块组成结构;
步骤2、计算机(4)通过投影机(1)将步骤1中产生的彩色结构光编码图像经过待测物体(5)调制后投影到投影屏幕(2)上,生成调制后的投影图像;
步骤3、计算机(4)通过摄像机(3)拍摄步骤2生成的调制后的投影图像,得到彩色结构光编码图片;
步骤4、设彩色结构光编码图片共有m行像素,每行有n个像素点,得到由这些像素点构成的m×n阶矩阵H;设H(i,j)为矩阵H中的第i行第j列元素,设H(i,j)的RGB值分别为r(i,j),g(i,j),b(i,j);将每个像素点的RGB值都按照公式P(i,j)=(r(i,j)×x+g(i,j)×y+b(i,j)×z)/3,x+y+z=1灰度化,得到H(i,j)的灰度值,用P(i,j)表示;
步骤5、构造矩阵Pk,设Pk(i,j)是矩阵Pk的第i行第j列元素,对i=1,2,…,m,有
Pk(i,1) = P(i,1);
Pk(i,2)=(P(i,1)+P(i,2)+P(i,3))/3;
Pk(i,j)=(P(i,j-2)+2×P(i,j-1)+3×P(i,j)+2×P(i,j+1)+P(i,j+2))/9,
j=3,4,…,n-2;
Pk(i,n-1)=(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值,纵坐标为Pk(i,j);
步骤7、由第i行元素的横向灰度波形曲线中的所有波峰和波谷点处的横坐标,从左至右构造向量E(i),i=1,2,…,m;设E(i)中有c(i)个元素,E(i)(j)是向量E(i)的第j个元素,j=1,2…,c(i);
步骤8、对于i=1,2…,m;构造向量F(i),设F(i)(j)是向量F(i)的第j个元素,其中
步骤9、构造矩阵G,设G(i,j)是矩阵G的第i行,第j列元素,对i=1,2,….,m;j=1,2…,c(i);有G(i,j)=(i,F(i)(j));
步骤10、构造矩阵Ps,设Ps(i,j)是矩阵Ps的第i行第j列元素,对j=1,2,…,n,有
Ps(1,j)= P(1,j);
Ps(2,j)=(P(1,j)+P(2,j)+P(3,j))/3;
Ps(i,j)=(P(i-2,j)+2×P(i-1,j)+3×P(i,j)+2×P(i+1,j)+ P(i+2,j))/9,
i=3,4,…,m-2;
Ps(m-1,j)=(P(m-2,j)+P(m-1,j)+P(m,j))/3;
Ps(m,j)=P(m,j);
步骤11、根据矩阵Ps的第j列元素,得到第j列元素的纵向灰度波形曲线,在第j列元素的纵向灰度波形曲线中,横坐标为矩阵Ps中第j列元素所对应的i值,纵坐标为Ps(i,j);
步骤12、由第j列元素的纵向灰度波形曲线中的所有波峰和波谷点处的横坐标,从左至右构造向量U(j),j=1,2…,n;设U(j)中有d(j)个元素,U(j)(i)是向量U(j)的第i个元素,i=1,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=1,2,...,n;i=1,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=1,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=1,2,…,d(j);j=1,2,…,c(i);构造矩阵Z,矩阵Z的第i行第j列元素为Z(i,j)=(R(i,j),G(i,j),B(i,j)),i=1,2,…,d(j);j=1,2,…,c(i);其中R(i,j),G(i,j),B(i,j)分别为H(Q(i,j,1),Q(i,j,2))的RGB值;
步骤17、彩色结构光编码图像中的颜色块共有8种颜色,分别用a1,a2,…,a8表示,其中颜色ax的RGB值分别用rx,gx,bx表示,x=1,2,…,8;
步骤18、设Nq=0,q=1,2,…,8;构造矩阵D,其中D(i,j,s)表示Z(i,j)到点(rs,gs,bs)的距离,所述距离的定义如下:
其中i=1,2,…,d;j=1,2,…,c;s=1,2,…,8;
步骤19、对固定i,j的Z(i,j),设D(i,j,q)是{(D(i,j,1),D(i,j,2),…,D(i,j,k)}中的最小值且q值最小,Nq=Nq+1;构造矩阵Iq,其中Iq(h,y)为矩阵Iq的第h行第y列元素,y=1,2…,8;Iq(Nq,1)=Z(i,j,l),Iq(Nq,2)=Z(i,j,2),Iq(Nq,3)=Z(i,j,3);
对i=1,2,…,d,j=1,2,…,c,重复步骤19中的上述过程;
如果对于每一个q=1,2,…,8都有Nq=Mq,那么彩色结构光编码图片中的特征点的颜色确定完毕,否则继续执行步骤20;
步骤20、根据以下公式修改a1,a2,…,a8的RGB值,
q=1,2,…,8;
Mq=Nq,q=1,2,…,8;转而执行步骤18;
通过以上步骤可以快速提取彩色结构光编码图片中的特征点,并确定每个特征点的颜色,再通过与彩色结构光编码图像中的颜色块的颜色值作比较,就可以确定彩色结构光编码图片中每个特征点与彩色结构编码图像中的颜色块的匹配关系,为待测物体(5)的三维重构作好了准备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410408084.2A CN104217446A (zh) | 2014-08-19 | 2014-08-19 | 一种基于边缘检测的彩色结构光解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410408084.2A CN104217446A (zh) | 2014-08-19 | 2014-08-19 | 一种基于边缘检测的彩色结构光解码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104217446A true CN104217446A (zh) | 2014-12-17 |
Family
ID=52098888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410408084.2A Pending CN104217446A (zh) | 2014-08-19 | 2014-08-19 | 一种基于边缘检测的彩色结构光解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104217446A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108261171A (zh) * | 2017-10-30 | 2018-07-10 | 杭州先临三维科技股份有限公司 | 口内三维扫描装置和方法 |
CN109598737A (zh) * | 2018-12-04 | 2019-04-09 | 广东智媒云图科技股份有限公司 | 一种图像边缘识别方法及系统 |
CN109827646A (zh) * | 2018-12-21 | 2019-05-31 | 太原重工股份有限公司 | 用于粉体物料的称重方法及称重装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1865466A1 (en) * | 2005-03-28 | 2007-12-12 | Kyushu Institute of Technology | Operation detection device and operation detection method |
CN101833775A (zh) * | 2010-04-30 | 2010-09-15 | 长春理工大学 | 一种彩色结构光图像编码方法 |
-
2014
- 2014-08-19 CN CN201410408084.2A patent/CN104217446A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1865466A1 (en) * | 2005-03-28 | 2007-12-12 | Kyushu Institute of Technology | Operation detection device and operation detection method |
CN101833775A (zh) * | 2010-04-30 | 2010-09-15 | 长春理工大学 | 一种彩色结构光图像编码方法 |
Non-Patent Citations (2)
Title |
---|
范静涛 等: "一种新的 De Bruijn 彩色结构光解码技术研究", 《电子学报》 * |
韩成 等: "基于彩色结构光的三维重构方法", 《吉林大学学报(工学版)》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108261171A (zh) * | 2017-10-30 | 2018-07-10 | 杭州先临三维科技股份有限公司 | 口内三维扫描装置和方法 |
CN109598737A (zh) * | 2018-12-04 | 2019-04-09 | 广东智媒云图科技股份有限公司 | 一种图像边缘识别方法及系统 |
CN109827646A (zh) * | 2018-12-21 | 2019-05-31 | 太原重工股份有限公司 | 用于粉体物料的称重方法及称重装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110686599B (zh) | 基于彩色格雷码结构光的三维测量方法、系统、装置 | |
CN102878950B (zh) | 用于三维轮廓测量的系统和方法 | |
CN101504277B (zh) | 一种光学三维传感获取物体三维图像的方法 | |
CN101813461B (zh) | 基于复合彩色条纹投影的绝对相位测量方法 | |
EP3577416B1 (en) | System and method for 3d scanning | |
CN101394573B (zh) | 一种基于特征匹配的全景图生成方法及系统 | |
CN201218726Y (zh) | 基于彩色结构光的文物三维重建装置 | |
CN108592823B (zh) | 一种基于双目视觉彩色条纹编码的解码方法 | |
CN101871773B (zh) | 同步色相相移转换方法以及其三维形貌量测系统 | |
CN108592822A (zh) | 一种基于双目相机及结构光编解码的测量系统及方法 | |
CN101794461B (zh) | 一种三维建模方法及系统 | |
JP2003518614A (ja) | 三次元の表面座標の決定方法 | |
CN104677308A (zh) | 一种高频二值条纹的三维扫描方法 | |
CN105180904A (zh) | 基于编码结构光的高速运动目标位姿测量方法 | |
CN101738172B (zh) | 基于绿条纹分割的高采样密度彩色结构光三维测量方法 | |
CN101482398B (zh) | 一种快速三维形貌测量的方法及装置 | |
CN104217446A (zh) | 一种基于边缘检测的彩色结构光解码方法 | |
CN101833775B (zh) | 一种彩色结构光图像编码方法 | |
CN110044927B (zh) | 一种空间编码光场对曲面玻璃表面缺陷的检测方法 | |
CN1141670C (zh) | 用二维编码对运动物体进行三维跟踪测量的方法 | |
CN101840575B (zh) | 一种将De Bruijn彩色结构光图像转化为赋权有向图模型和赋权有向图模型简化方法 | |
Cheng et al. | 3D object scanning system by coded structured light | |
CN102184555A (zh) | 一种De Bruijn彩色结构光编码图像的中心彩色条纹的颜色聚类化方法 | |
Chen et al. | Realtime structured light vision with the principle of unique color codes | |
CN102156877A (zh) | 一种基于聚类分析的颜色分类方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141217 |
|
WD01 | Invention patent application deemed withdrawn after publication |