发明名称 离散视点采集结合窗截取算法的立体元图像阵列生成方法
摘要 离散视点采集结合窗截取算法的立体元图像阵列生成方法属立体图像生成技术领域,本发明包括下列步骤:采集离散视点图像阵列;计算拍摄对象在每幅离散视点图像中的位置;计算截取窗在离散视点图像阵列任意两幅水平相邻离散视点图像中的水平相对位移和截取窗在离散视点图像阵列中任意两幅垂直相邻离散视点图像中的垂直相对位移;计算截取窗大小;计算截取窗右下角在离散视点图像阵列的第一行、第一列离散视点图像中的位置;对离散视点图像阵列进行截取生成子图像阵列;将子图像阵列转化成立体元图像阵列。本发明不受采集设备的限制,能生成实际景物的高分辨率立体元图像阵列,与传统的相机阵列直接采集法相比,本发明可大大降低拍摄成本和工作量。
申请公布号 CN103096113A 申请公布日期 2013.05.08
申请号 CN201310051957.4 申请日期 2013.02.15
申请人 吉林大学 发明人 王世刚;吕源治;金福寿;王学军;赵岩;王小雨;李雪松;俞珏琼
分类号 H04N13/00(2006.01)I 主分类号 H04N13/00(2006.01)I
代理机构 长春吉大专利代理有限责任公司 22201 代理人 邵铭康;朱世林
主权项 一种离散视点采集结合窗截取算法的立体元图像阵列生成方法,其特征在于包括下列步骤:1.1采集离散视点图像阵列,包括下列步骤:1.1.1初始化:调节支撑立体摄影轨道的两个三角支架将立体摄影轨道的高度固定到一个较低的位置,将相机安装在立体摄影轨道上,立体摄影轨道可以使相机从右至左匀速移动,实验人员通过遥控器控制立体摄影轨道的启动和停止;1.1.2获取离散视点图像组:利用水平尺将立体摄影轨道的平面调整到与水平面平行,并用遥控器将相机移动到立体摄影轨道的最右端,按住相机快门线并同时启动立体摄影轨道,在相机的移动过程中,利用相机的连拍功能连续采集拍摄对象的多张离散视点图像,将采集到的离散视点图像按照拍摄的先后顺序从左到右排成一行,即得到立体摄影轨道位于该高度时采集到的离散视点图像组;1.1.3利用垂直标尺,上调支撑立体摄影轨道的两个三角支架,使立体摄影轨道上升一个固定的距离;1.1.4重复步骤1.1.2和1.1.3的拍摄过程,获得多个离散视点图像组;1.1.5将所有离散视点图像组按照采集的先后顺序,从上至下排列成一个离散视点图像阵列,即,将最先采集到的一组离散视点图像组放在离散视点图像阵列的第一行,最后采集到的一组离散视点图像组放在离散视点图像阵列的最后一行;1.2计算拍摄对象在每幅离散视点图像中的位置:拍摄对象在每幅离散视点图像中的位置参数包括:拍摄对象在离散视点图像阵列中任意两幅水平相邻离散视点图像中的水平相对位移,拍摄对象在离散视点图像阵列中任意两幅垂直相邻离散视点图像中的垂直相对位移,拍摄对象的上、下、左和右侧边界在离散视点图像阵列的第一行、第一列离散视点图像中的位置,拍摄对象的上、下、左和右侧边界在离散视点图像阵列的最后一行、最后一列离散视点图像中的位置;1.2.1确定拍摄对象在离散视点图像阵列中任意两幅水平相邻离散视点图像中的水平相对位移,其计算方法为:设DVIi,j表示离散视点图像阵列中位于第i列,第j行的一幅离散视点图像,首先,将DVI1,1逐个像素地向右平移,每次平移后,计算平移后的DVI1,1与DVI2,1重叠部分的峰值信噪比,峰值信噪比定义为: <mrow> <mi>PSNR</mi> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>10</mn> <mo>&times;</mo> <msub> <mi>log</mi> <mn>10</mn> </msub> <mo>[</mo> <mfrac> <msup> <mn>255</mn> <mn>2</mn> </msup> <mrow> <mi>MSE</mi> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>]</mo> </mrow>式中,s‑为DVI1,1的平移距离,PSNR(s)‑为平移后的DVI1,1与DVI2,1重叠部分的峰值信噪比,MSE(s)‑为均方误差,其定义式为: <mrow> <mi>MSE</mi> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mrow> <mo>(</mo> <mi>X</mi> <mo>-</mo> <mi>s</mi> <mo>)</mo> </mrow> <mo>&times;</mo> <mi>Y</mi> </mrow> </mfrac> <munderover> <mi>&Sigma;</mi> <mrow> <mi>x</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>X</mi> <mo>-</mo> <mn>1</mn> <mo>-</mo> <mi>s</mi> </mrow> </munderover> <munderover> <mi>&Sigma;</mi> <mrow> <mi>y</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>Y</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msup> <mrow> <mo>[</mo> <msub> <mi>DVI</mi> <mn>1,1</mn> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>DVI</mi> <mn>2,1</mn> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>+</mo> <mi>s</mi> <mo>,</mo> <mi>y</mi> <mo>)</mo> </mrow> <mo>]</mo> </mrow> <mn>2</mn> </msup> </mrow>式中,x、y‑分别为像素点在DVI1,1中的横向和纵向位置坐标,X、Y‑分别为离散视点图像的水平和垂直方向包含的像素数量;然后,将峰值信噪比最大时对应的移动距离作为拍摄对象在离散视点图像阵列中任意两幅水平相邻离散视点图像中的水平相对位移;1.2.2确定拍摄对象在离散视点图像阵列中任意两幅垂直相邻离散视点图像中的垂直相对位移,其计算方法为:首先将DVI1,1和DVI1,2进行转置,然后按照与拍摄对象在离散视点图像阵列中任意两幅水平相邻离散视点图像中的水平相对位移相同的计算方法进行计算;1.2.3确定拍摄对象的上、下、左和右侧边界在DVI1,1中的位置,其计算方法为:首先,计算DVI1,1和DVI2,1的差值图像并进行中值滤波;然后,将中值滤波后的差值图像中所有非零点的上、下和左边界的位置作为拍摄对象的上、下和左侧边界在DVI1,1中的位置,将中值滤波后的差值图像中所有非零点的右边界的位置减去拍摄对象在离散视点图像阵列中任意两幅水平相邻离散视点图像中的水平相对位移后得到的值作为拍摄对象的右侧边界在DVI1,1中的位置;1.2.4确定拍摄对象的上、下、左和右侧边界在离散视点图像阵列的最后一行、最后一列离散视点图像中的位置,其计算方法为:首先,计算离散视点图像阵列中最后一行、最后一列的离散视点图像和离散视点图像阵列中最后一行、倒数第二列的离散视点图像的差值图像并进行中值滤波;然后,将中值滤波后的差值图像中所有非零点的上、下和右边界的位置作为拍摄对象的上、下和右侧边界在离散视点图像阵列的最后一行、最后一列离散视点图像中的位置,将中值滤波后的差值图像中所有非零点的左边界的位置加上拍摄对象在离散视点图像阵列中任意两幅水平相邻离散视点图像中的水平相对位移后得到的值作为拍摄对象的左侧边界在离散视点图像阵列的最后一行、最后一列离散视点图像中的位置;1.3计算截取窗在离散视点图像阵列中任意两幅水平相邻离散视点图像中的水平相对位移和截取窗在离散视点图像阵列中任意两幅垂直相邻离散视点图像中的垂直相对位移:截取窗在离散视点图像阵列中任意两幅水平相邻离散视点图像中的水平相对位移和截取窗在离散视点图像阵列中任意两幅垂直相邻离散视点图像中的垂直相对位移的表达式为:MH=DH+deltaMV=DV+delta式中,MH、MV‑分别为截取窗在离散视点图像阵列中任意两幅水平相邻离散视点图像中的水平相对位移和截取窗在离散视点图像阵列中任意两幅垂直相邻离散视点图像中的垂直相对位移,DH、DV‑分别为拍摄对象在离散视点图像阵列中任意两幅水平相邻离散视点图像中的水平相对位移和拍摄对象在离散视点图像阵列中任意两幅垂直相邻离散视点图像中的垂直相对位移,delta‑为深度影响因子;根据实际需要,delta可以在允许的范围内进行任意取值,delta的取值范围为:delta_max=min[(MH_max‑DH),(MV_max‑DV)]delta_min=0式中,delta_max、delta_min‑分别为delta可取的最大值和最小值,MH_max、MV_max‑分别为截取窗在离散视点图像阵列中任意两幅水平相邻离散视点图像中的水平相对位移的最大值和截取窗在离散视点图像阵列中任意两幅垂直相邻离散视点图像中的垂直相对位移的最大值,min(·)‑表示取括号内所有数值的最小值;MH_max和MV_max的表达式为:MH_max=min(X‑IR,IL)/(M‑1)MV_max=min(Y‑IB,IT)/(N‑1)式中,IR、IB‑分别为拍摄对象的右侧和下侧边界在DVI1,1中的位置,IL、IT‑分别为拍摄对象的左侧和上侧边界在离散视点图像阵列的最后一行、最后一列离散视点图像中的位置,M、N‑分别为离散视点图像阵列中每行和每列所包含的离散视点图像的数量;1.4计算截取窗的大小:截取窗的大小的表达式为:W=IR+(M‑1)×MH‑ILH=IB+(N‑1)×MV‑IT式中,W、H‑分别为截取窗的宽度和高度;1.5计算截取窗的右下角在离散视点图像阵列的第一行、第一列离散视点图像中的位置:截取窗的右下角在DVI1,1中位置的表达式为:PH=IRPV=IB式中,PH、PV‑分别为截取窗的右下角在DVI1,1中的横向和纵向位置坐标;1.6截取离散视点图像阵列生成子图像阵列:用截取窗对离散视点图像阵列中的每幅离散视点图像进行截取生成子图像阵列,子图像阵列中包含的子图像数量与离散视点图像阵列中包含的离散视点图像数量相等,位于子图像阵列中第i列、第j行的一幅子图像的表达式为:SIi,j(u,V)=DVIi,j(PH+(i‑1)×MH‑W+u,PV+(j‑1)×MV‑H+V)式中,SIi,j‑为子图像阵列中第i列、第j行的一幅子图像,u=1,2,…,W和v=1,2,…,H‑分别为像素点在子图像中的横向和纵向位置坐标;1.7将子图像阵列转化成立体元图像阵列:子图像阵列转换成的立体元图像阵列中包含W×H个立体元图像,每个立体元图像的大小为M像素×N像素,位于立体元图像阵列中第p列、第q行的一幅立体元图像的表达式为:EIp,q(r,t)=SIr,t(p,q)式中,EIp,q‑为立体元图像阵列中第p列、第q行的一幅立体元图像,r=1,2,…,M和t=1,2,…,N‑分别为像素点在立体元图像中的横向和纵向位置坐标。
地址 130012 吉林省长春市前进大街2699号