主权项 |
一种基于图像重投影的空洞填充方法,其特征在于,包括以下步骤:S1:根据参考图像I<sub>r</sub>采用三维变换生成目标图像I<sub>s</sub>,并得到目标图像对应的非空洞矩阵M,非空洞矩阵M的生成方法为:如果目标图像I<sub>s</sub>中像素点(x,y)为空洞,非空洞矩阵M对应的元素值M(x,y)置0,如果为非空洞点,对应元素值置为该像素点的深度值;S2:采用图像重投影算法分别对参考图像I<sub>r</sub>及其深度图像D进行重投影生成与目标图像I<sub>s</sub>平行的参考图像I<sub>r</sub>′及其深度图像D′;S3:当目标图像I<sub>s</sub>为右视图,对非空洞矩阵M进行从左到右、从上到下的遍历,寻找得到除图像边缘空洞以外的所有空洞,将每个空洞右边的非空洞像素点作为右边缘u<sub>s</sub>,该空洞含有的像素点数记为N;当目标图像I<sub>s</sub>为左视图,对非空洞矩阵M进行从右到左、从上到下的遍历,寻找得到除图像边缘空洞以外的所有空洞,将每个空洞左边的非空洞像素点作为左边缘u<sub>s</sub>,该空洞含有的像素点数记为N;S4:当目标图像I<sub>s</sub>为右视图,依次对于步骤S3得到的每个空洞的右边缘u<sub>s</sub>,判断是否为前景像素点,如果是,不作任何操作,否则将像素点u<sub>s</sub>通过三维图像逆变换,投影到参考图像I<sub>r</sub>′中的像素点u′<sub>r</sub>,记像素点u′<sub>r</sub>的坐标为(m,n);如果像素点u′<sub>r</sub>所在行的序号n大于等于W/2时,W表示原始参考图像的宽度,将像素点u′<sub>r</sub>右边最近的N个像素点复制到像素点u<sub>s</sub>左边的空洞中进行填充,否则进一步判断图像重投影时参考图像I′<sub>r</sub>相对于原始参考图像I<sub>r</sub>是否为顺时针旋转,如果是,则将像素点u′<sub>r</sub>重置为像素点(m+λ,n),λ表示预设的偏移量,取值范围λ≥1;如果是逆时针,则将像素点u′<sub>r</sub>重置为像素点(m‑λ,n),然后将像素点u′<sub>r</sub>右边最近的N个像素点复制到像素点u<sub>s</sub>左边的空洞中进行填充;当目标图像I<sub>s</sub>为左视图,依次对于步骤S3得到的每个空洞的左边缘u<sub>s</sub>,判断是否为前景像素点,如果是,不作任何操作,否则将像素点u<sub>s</sub>通过三维图像逆变换,投影到参考图像I′<sub>r</sub>中的像素点u′<sub>r</sub>,记像素点u′<sub>r</sub>的坐标为(m,n);如果像素点u′<sub>r</sub>所在行的序号n小于等于W/2时,将像素点u′<sub>r</sub>左边最近的N个像素点复制到像素点u<sub>s</sub>右边的空洞中进行填充,否则进一步判断图像重投影时参考图像I′<sub>r</sub>相对于原始参考图像I<sub>r</sub>是否为顺时针旋转,如果是,则将像素点u′<sub>r</sub>重置为像素点(m‑λ,n);如果是逆时针,则将像素点u′<sub>r</sub>重置为像素点(m+λ,n),然后将像素点u′<sub>r</sub>左边最近的N个像素点复制到像素点u<sub>s</sub>右边的空洞中进行填充;S5:采用图像修复算法对目标图像I<sub>s</sub>中的剩余空洞进行填充。 |