发明名称 立体图像对中遮挡信息的提取方法
摘要 本发明公开了一种立体图像对中遮挡信息的提取方法,包括以下步骤:(1)对待处理的左右视点立体图像对,分别以左右图像为主视点图像,另一图像为辅助视点图像进行立体匹配,得到左右视差图像;(2)根据左视差图像,将左视点图像坐标系中的像素点映射至右视点图像坐标系中,建立左右图像对中像素点之间的对应关系;(3)提取右视点图像中在左视点图像中没有对应映射点的像素点,作为右视点的残余图像;(4)根据右视差图像,将右视点残余图像中的像素点映射至左视点图像坐标系中,得到左视点位置的右视点图像中的遮挡信息。本发明可以快速准确地获得立体图像对中的遮挡信息,极大地减少了立体图像对的数据量,节约了数据传输的带宽资源。
申请公布号 CN101808251B 申请公布日期 2011.07.20
申请号 CN201010141105.0 申请日期 2010.04.06
申请人 浙江大学 发明人 席明;杨青青;薛玖飞;李东晓;张明
分类号 H04N13/00(2006.01)I 主分类号 H04N13/00(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 张法高
主权项 1.一种立体图像对中遮挡信息的提取方法,其特征包括以下步骤:(1)对待处理的左右视点立体图像对,先以左视点图像为主视点图像,右视点图像为辅助视点图像进行立体匹配,得到左视点的视差图像,再以右视点图像为主视点图像,左视点图像为辅助视点图像进行立体匹配,得到右视点的视差图像;(2)根据左视点的视差图像,将左视点图像坐标系中的每一个像素坐标映射至右视点图像坐标系中,建立左右图像对中像素坐标之间的对应关系,并记录右视点图像坐标系中每一个像素坐标的映射标志位;(3)将右视点图像中在左视点图像中没有对应映射点的像素点提取出来,得到右视点的残余图像;(4)根据右视点的视差图像,将右视点残余图像中的每一个像素坐标映射至左视点图像坐标系中,在左视点图像坐标系中的对应像素位置,记录右视点残余图像中对应像素点的像素值及其在右视点视差图像中的视差值,得到左视点位置的右视点图像中的遮挡信息;所述的对待处理的左右视点立体图像对,先以左视点图像为主视点图像,右视点图像为辅助视点图像进行立体匹配,得到左视点的视差图像,再以右视点图像为主视点图像,左视点图像为辅助视点图像进行立体匹配,得到右视点的视差图像的步骤为:(a)以左视点图像I<sub>L</sub>(x<sub>l</sub>,y<sub>l</sub>)为主视点图像,以右视点图像I<sub>R</sub>(x<sub>r</sub>,y<sub>r</sub>)为辅助视点图像进行立体匹配,得到左视点的视差图像D<sub>L</sub>(x<sub>l</sub>,y<sub>l</sub>);其中,x<sub>l</sub>表示左视点图像像素点水平方向上的坐标,y<sub>l</sub>表示左视点图像像素点垂直方向上的坐标,x<sub>l</sub>的取值为x<sub>l</sub>=0,1,2,...,H-1,y<sub>l</sub>的取值为y<sub>l</sub>=0,1,2,...,V-1,x<sub>r</sub>表示右视点图像像素点水平方向上的坐标,y<sub>r</sub>表示右视点图像像素点垂直方向上的坐标,x<sub>r</sub>的取值为x<sub>r</sub>=0,1,2,...,H-1,y<sub>r</sub>的取值为y<sub>r</sub>=0,1,2,...,V-1,H表示左右视点图像的水平分辨率,V表示左右视点图像的垂直分辨率;(b)以右视点图像I<sub>R</sub>(x<sub>r</sub>,y<sub>r</sub>)为主视点图像,以左视点图像I<sub>L</sub>(x<sub>l</sub>,y<sub>l</sub>)为辅助视点图像进行立体匹配,得到右视点的视差图像D<sub>R</sub>(x<sub>r</sub>,y<sub>r</sub>);所述的根据左视点的视差图像,将左视点图像坐标系中的每一个像素坐标映射至右视点图像坐标系中,建立左右图像对中像素坐标之间的对应关系,并记录右视点图像坐标系中每一个像素坐标的映射标志位的步骤为:(c)根据步骤(a)得到的左视点的视差图像D<sub>L</sub>(x<sub>l</sub>,y<sub>l</sub>)将左视点图像坐标系中的每一个像素坐标(x<sub>l</sub>,y<sub>l</sub>)映射至右视点图像坐标系中,得到右视点图像坐标系中对应的映射点坐标(x′<sub>r</sub>,y′<sub>r</sub>),表示公式如下:(x′<sub>r</sub>,y′<sub>r</sub>)=(x<sub>l</sub>-D<sub>L</sub>(x<sub>l</sub>,y<sub>l</sub>),y<sub>l</sub>)其中,x′<sub>r</sub>为映射后像素点水平方向上的坐标,y′<sub>r</sub>为映射后像素点垂直方向上的坐标;(d)记录右视点图像I<sub>R</sub>(x<sub>r</sub>,y<sub>r</sub>)中每一个像素位置的映射标志位Flag<sub>R</sub>(x<sub>r</sub>,y<sub>r</sub>),若步骤(c)得到的映射点坐标(x′<sub>r</sub>,y′<sub>r</sub>)在右视点图像区域范围之内,则映射标志位Flag<sub>R</sub>(x<sub>r</sub>,y<sub>r</sub>)=1,其他情况下,映射标志位Flag<sub>R</sub>(x<sub>r</sub>,y<sub>r</sub>)=0,表示公式如下:<img file="FSB00000471107500021.GIF" wi="1697" he="326" />所述的将右视点图像中在左视点图像中没有对应映射点的像素点提取出来,得到右视点的残余图像的步骤为:(e)根据步骤(d)得到的映射标志位Flag<sub>R</sub>(x<sub>r</sub>,y<sub>r</sub>),将右视点图像中没有映射点的像素点提取出来,得到右视点的残余图像I<sub>Rresidual</sub>(x<sub>r</sub>,y<sub>r</sub>),表示公式如下:<maths num="0001"><![CDATA[<math><mrow><msub><mi>I</mi><mi>Rresidual</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>r</mi></msub><mo>,</mo><msub><mi>y</mi><mi>r</mi></msub><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>I</mi><mi>R</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>r</mi></msub><mo>,</mo><msub><mi>y</mi><mi>r</mi></msub><mo>)</mo></mrow><mo>,</mo></mtd><mtd><msub><mi>Flag</mi><mi>R</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>r</mi></msub><mo>,</mo><msub><mi>y</mi><mi>r</mi></msub><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mtd></mtr><mtr><mtd><mn>255</mn><mo>,</mo></mtd><mtd><msub><mi>Flag</mi><mi>R</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>r</mi></msub><mo>,</mo><msub><mi>y</mi><mi>r</mi></msub><mo>)</mo></mrow><mo>=</mo><mn>1</mn></mtd></mtr></mtable></mfenced><mo>;</mo></mrow></math>]]></maths>所述的根据右视点的视差图像,将右视点残余图像中的每一个像素坐标映射至左视点图像坐标系中,在左视点图像坐标系中的对应像素位置,记录右视点残余图像中对应像素点的像素值及其在右视点视差图像中的视差值,得到左视点位置的右视点图像中的遮挡信息的步骤为:(f)根据步骤(b)得到的右视点的视差图像D<sub>R</sub>(x<sub>r</sub>,y<sub>r</sub>)和步骤(d)得到的映射标志位Flag<sub>R</sub>(x<sub>r</sub>,y<sub>r</sub>),将步骤(e)得到的残余图像I<sub>Rresidual</sub>(x<sub>r</sub>,y<sub>r</sub>)中映射标志位Flag<sub>R</sub>(x<sub>r</sub>,y<sub>r</sub>)=0的像素点,映射至左视点图像坐标系中,得到左视点图像坐标系中对应的映射点坐标(x′<sub>l</sub>,y′<sub>l</sub>),表示公式如下:(x′<sub>l</sub>,y′<sub>l</sub>)=(x<sub>r</sub>+D<sub>R</sub>(x<sub>r</sub>,y<sub>r</sub>),y<sub>r</sub>)其中,x′<sub>l</sub>为映射后像素点水平方向上的坐标,y′<sub>l</sub>为映射后像素点垂直方向上的坐标;(g)记录左视点图像I<sub>L</sub>(x<sub>l</sub>,y<sub>l</sub>)中每一个像素位置的映射标志位Flag<sub>L</sub>(x<sub>l</sub>,y<sub>l</sub>),若步骤(f)得到的映射点坐标(x′<sub>l</sub>,y′<sub>l</sub>)在左视点图像区域范围之内,则映射标志位Flag<sub>L</sub>(x<sub>l</sub>,y<sub>l</sub>)=1,其他情况下Flag<sub>L</sub>(x<sub>l</sub>,y<sub>l</sub>)=0,表示公式如下:<img file="FSB00000471107500031.GIF" wi="1702" he="308" />(h)根据步骤(g)得到的映射标志位Flag<sub>L</sub>(x<sub>l</sub>,y<sub>l</sub>),将步骤(e)得到的右视点残余图像I<sub>Rresidual</sub>(x<sub>r</sub>,y<sub>r</sub>)和步骤(b)得到的右视点的视差图像D<sub>R</sub>(x<sub>r</sub>,y<sub>r</sub>)映射至左视点图像坐标系中,得到在左视点图像中不可见但是在右视点中可见的遮挡信息I<sub>occlusion</sub>(x,y)和遮挡信息对应的视差信息D<sub>occlusion</sub>(x,y),x表示像素点水平方向上的坐标,y表示像素点垂直方向上的坐标,x的取值为x=0,1,2,...,H-1,y的取值为y=0,1,2,...,V-1,表示公式如下:<maths num="0002"><![CDATA[<math><mrow><msub><mi>I</mi><mi>occlusion</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>r</mi></msub><mo>+</mo><msub><mi>D</mi><mi>R</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>r</mi></msub><mo>,</mo><msub><mi>y</mi><mi>r</mi></msub><mo>)</mo></mrow><mo>,</mo><msub><mi>y</mi><mi>r</mi></msub><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>I</mi><mi>Rresidual</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>r</mi></msub><mo>,</mo><msub><mi>y</mi><mi>r</mi></msub><mo>)</mo></mrow><mo>,</mo></mtd><mtd><msub><mi>Flag</mi><mi>L</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>r</mi></msub><mo>+</mo><msub><mi>D</mi><mi>R</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>r</mi></msub><mo>,</mo><msub><mi>y</mi><mi>r</mi></msub><mo>)</mo></mrow><mo>,</mo><msub><mi>y</mi><mi>r</mi></msub><mo>)</mo></mrow><mo>=</mo><mn>1</mn></mtd></mtr><mtr><mtd><mn>255</mn><mo>,</mo></mtd><mtd><msub><mi>Flag</mi><mi>L</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>r</mi></msub><mo>+</mo><msub><mi>D</mi><mi>R</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>r</mi></msub><mo>,</mo><msub><mi>y</mi><mi>r</mi></msub><mo>)</mo></mrow><mo>,</mo><msub><mi>y</mi><mi>r</mi></msub><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mtd></mtr></mtable></mfenced><mo>.</mo></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><msub><mi>D</mi><mi>occlusion</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>r</mi></msub><mo>+</mo><msub><mi>D</mi><mi>R</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>r</mi></msub><mo>,</mo><msub><mi>y</mi><mi>r</mi></msub><mo>)</mo></mrow><mo>,</mo><msub><mi>y</mi><mi>r</mi></msub><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>D</mi><mi>R</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>r</mi></msub><mo>,</mo><msub><mi>y</mi><mi>r</mi></msub><mo>)</mo></mrow><mo>,</mo></mtd><mtd><msub><mi>Flag</mi><mi>L</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>r</mi></msub><mo>+</mo><msub><mi>D</mi><mi>R</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>r</mi></msub><mo>,</mo><msub><mi>y</mi><mi>r</mi></msub><mo>)</mo></mrow><mo>,</mo><msub><mi>y</mi><mi>r</mi></msub><mo>)</mo></mrow><mo>=</mo><mn>1</mn></mtd></mtr><mtr><mtd><mn>255</mn><mo>,</mo></mtd><mtd><msub><mi>Flag</mi><mi>L</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>r</mi></msub><mo>+</mo><msub><mi>D</mi><mi>R</mi></msub><mrow><mo>(</mo><msub><mi>x</mi><mi>r</mi></msub><mo>,</mo><msub><mi>y</mi><mi>r</mi></msub><mo>)</mo></mrow><mo>,</mo><msub><mi>y</mi><mi>r</mi></msub><mo>)</mo></mrow><mo>=</mo><mn>0</mn></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>
地址 310027 浙江省杭州市西湖区浙大路38号