增填图像的方法和装置与流程

文档序号:12279671阅读:220来源:国知局
增填图像的方法和装置与流程

本发明涉及图像处理技术领域,尤其涉及一种增填图像的方法和装置。



背景技术:

单帧图片,即视频从二维转换为三维的根本目的就是由单一角度的视频出发,转换出多个角度之间有视差的单帧图片,即多视频。在通过位移像素产生视差的过程中,不可避免的会产生空洞,继而需要通过某种方式对空洞进行填充。

现有的自动图像增填修补方法主要有非线性滤波方法、贝叶斯方法、小波和谱分析方法、基于纹理结构的修补方法和统计方法等,但这些是针对受损图像进行修补,不能满足二维转换为三维3d的过程中对空洞的填充;而采用手动的增填修补方法,如在PhotoShop,Nuke等软件中使用仿制图章进行修补等,这种补图方式虽然能满足二维转换为三维过程中对空洞的填充,但操作繁琐且费时费力。



技术实现要素:

鉴于此,有必要针对传统技术存在的问题,提供了一种增填图像的方法和装置,能够有效且准确的实现对图像进行填补的操作。

为达到发明目的,提供一种增填图像的方法,所述方法包括:在视频帧序列及各帧对应的深度图中,获取所要处理的视频每一帧的原始图片,并根据原始图片获得相对应的深度图片;对获得的所述深度图片的深度分配获得第一左深度图和第一右深度图,其中,对所述第一左深度图和所述第一右深度图进行至少三次以上的左右定向平滑及上下定向平滑处理获得所述深度图片内部定向平滑后的第二左深度图和第二右深度图;对所述深度图片内部定向平滑后的所述第二左深度图和所述第二右深度图进行边缘定向平滑处理获得定向平滑后的第三左深度图和第三右深度图;根据定向平滑后的所述第三左深度图和所述第三右深度图对所述原始图片及相对应的所述深度图片进行转制。

在其中一个实施例中,所述对第一左深度图和第一右深度图进行至少三次以上的左右定向平滑及上下定向平滑处理获得深度图片内部定向平滑后的第二左深度图和第二右深度图的步骤包括:对所述第一左深度图及所述第一右深度图的每一行从左到右或从右到左逐个像素扫描,判断相邻两个像素是否都具有深度值,若没有,则继续对下一个像素执行扫描;若有,判断相邻两个像素左边比右边或右边比左边距离观察者是否远预设个数的深度值,若不满足,则继续对下一个像素执行扫描;若满足,计算相邻两个像素的深度差,以右像素深度值为基础,从右向左每移动一个像素,右像素深度值加上一个深度值并进行赋值,直到大于左像素的深度值或大于当前位置的深度值后停止赋值,同时记录赋值的像素位置,或以左像素深度值为基础,从左向右每移动一个像素,左像素深度值加上一个深度值并进行赋值,直到大于右像素的深度值或大于当前位置的深度值后停止赋值,同时记录赋值的像素位置,其中深度值为0时,像素位于屏幕上,深度值为负值时为出屏效果,深度值为正值时为入屏效果,数值越小距离观察者越近;当前行扫描完毕后进行下一行的扫描。

在其中一个实施例中,所述对第一左深度图和第一右深度图进行至少三次以上的左右定向平滑、上下定向平滑处理获得深度图内部定向平滑后的第二左深度图和第二右深度图的步骤还包括:对经过左右定向平滑的所述第一左深度图和所述第一右深度图的每一列从下到上或从上到下逐个像素扫描,判断当前所扫描的像素是否为左右平滑过程中赋值的像素,若不是,则继续对下一个像素执行扫描;若有,判断当前所扫描的像素和其上方相邻的像素是否都具有深度值,若没有,则继续对下一个像素执行扫描;若有,判断相邻两个像素上边比下边或下边比上边距离观察者是否远预设个数的深度值,若不满足,则继续对下一个像素执行扫描;若满足,计算上下相邻两个像素的深度差,以下像素的深度值为基础,从下向上每移动一个像素,下像素深度值加上一个深度值并进行赋值,直到大于上像素的深度值或大于当前位置的深度值后停止赋值,同时记录赋值的像素位置,或以上像素的深度值为基础,从上向下每移动一个像素,上像素深度值加上一个深度值并进行赋值,直到大于下像素的深度值或大于当前位置的深度值后停止赋值,同时记录赋值的像素位置,其中深度值为0时,像素位于屏幕上,深度值为负值时为出屏效果,深度值为正值时为入屏效果,数值越小距离观察者越近;当前列扫描完毕后进行下一列的扫描。

在其中一个实施例中,对所述深度图片内部定向平滑后的所述第二左深度图和所述第二右深度图进行边缘定向平滑处理获得定向平滑后的第三左深度图和第三右深度图的步骤包括:对经过左右定向平滑及上下定向平滑处理后的所述第二左深度图和所述第二右深度图进行从左到右或从右到左逐行扫描;左深度图将最右像素深度值设置为0,若最右像素的当前深度值小于0,则停止赋值,若最右像素的当前深度值大于0,则从右向左每移动一个像素加上一个深度值并进行赋值,直到大于当前位置的深度值停止赋值,或将最左像素深度值设置为0,若最左像素的当前深度值大于0,则停止赋值,若最左像素的当前深度值小于0,则从左向右每移动一个像素减去一个深度值并进行赋值,直到小于当前位置的深度值停止赋值;右深度图将最右像素深度值设置为0,若最右像素的当前深度值大于0,则停止赋值,若最右像素的当前深度值小于0,则从右向左每移动一个像素减去一个深度值并进行赋值,直到小于当前位置的深度值停止赋值,或将最左像素深度值设置为0,若最左像素的当前深度值小于0,则停止赋值,若最左像素的当前深度值大于0,则从左向右每移动一个像素加上一个深度值并进行赋值,直到大于当前位置的深度值停止赋值;直到所有行扫描完毕。

在其中一个实施例中,所述根据定向平滑后的所述第三左深度图和所述第三右深度图对所述原始图片及相对应的所述深度图片进行转制的步骤包括:采用从左到右或从右到左方式分别对定向平滑后的所述深度图片、所述深度图片和所述原始图片进行逐个像素赋值;当从左到右进行赋值,则判断所述原始图片的当前像素是否为当前行的最后一个像素,若是,则选择当前像素的左侧像素为相邻像素,若不是,则选择当前像素的右侧像素为相邻像素,或当从右到左进行赋值,则判断所述原始图片的当前像素是否为当前行的最后一个像素,若是,则选择当前像素的右侧像素为相邻像素,若不是,则选择当前像素的左侧像素为相邻像素;判断当前像素的α通道是否大于0,若不大于则继续对下一个像素执行赋值操作;若大于,获得当前像素对应的深度值和平滑后的深度值,并对当前像素深度值进行取整,判断根据取整后数值进行位移后的当前像素位置是否在图像之内,若不在,则继续对下一个像素执行赋值操作;若在,根据所述原始图片的当前像素与相邻像素采用深度值小数位加权方式进行位移赋值,及根据定向平滑后的所述深度图片和所述原始深度图片的当前像素与所述原始图片的当前像素同时进行位移赋值,并分别判断位移后的像素位置是否进行过赋值,或判断所述原始图片当前深度值是否小于要进行赋值位置的深度值,若不存在赋值,则位移后的像素直接覆盖该像素位置,若所述原始图片当前深度值小于要进行赋值位置的深度值,则位移后的像素直接覆盖该像素位置,反之,则继续对下一个像素执行赋值操作;当左图进行从左到右位移赋值时,判断当前像素在位移后的像素深度值是否比上一个像素位移后的像素深度值小,或从右到左位移赋值时,判断当前像素在位移后的像素深度值是否比上一个像素位移后的像素深度值大,若是,则对所述原始图片根据像素转制公式对位移后的当前像素与位移后的上一个像素之间的像素位置点进行赋值,对所述原始深度图和平滑后的深度图采用位移后当前像素与位移后的上一个像素相比较大的深度值对两者之间的像素位置点进行赋值,反之,则继续对一下个像素执行赋值操作,或当右图进行从左到右位移赋值时,判断当前像素在位移后的像素深度值是否比上一个像素位移后的像素深度值大,或从右到左位移赋值时,判断当前像素在位移后的像素深度值是否比上一个像素位移后的像素深度值小,若是,则对原始图片根据像素转制公式对位移后的当前像素与位移后的上一个像素之间的像素位置点进行赋值,对原始深度图和平滑后的深度图采用位移后当前像素与位移后的上一个像素相比较大的深度值对两者之间的像素位置点进行赋值,反之,则继续对下一个像素执行赋值操作;当前行扫描完毕后进行下一行的扫描。

在其中一个实施例中,还包括以下特征中的至少一项:对定向平滑处理后的所述第三左深度图和所述第三右深度图进行粘连消除处理;或对转制后的图进行羽化处理。

基于同一发明构思的一种增填图像的装置,所述装置包括:获取模块,用于在视频帧序列及各帧对应的深度图中,获取所要处理的视频每一帧的原始图片,并根据原始图片获得相对应的深度图片;分配模块,用于对获得的所述深度图片的深度分配获得第一左深度图和第一右深度图;第一定向平滑处理模块,用于对所述第一左深度图和所述第一右深度图进行至少三次以上的左右定向平滑及上下定向平滑处理获得所述深度图片内部定向平滑后的第二左深度图和第二右深度图;第二定向平滑处理模块,用于对所述深度图片内部定向平滑后的所述第二左深度图和所述第二右深度图进行边缘定向平滑处理获得定向平滑后的第三左深度图和第三右深度图;转制模块,用于根据定向平滑后的所述第三左深度图和所述第三右深度图对所述原始图片及相对应的所述深度图片进行转制。

在其中一个实施例中,所述装置还包括以下特征中的至少一项:粘连消除处理模块,用于对定向平滑处理后的所述第三左深度图和所述第三右深度图进行粘连消除处理;羽化处理模块,用于对转制后的图进行羽化处理。

本发明的有益效果包括:上述增填图像的方法和装置,在视频帧序列及各帧对应的深度图中,获取所要处理的视频每一帧的原始图片,并根据原始图片获得相对应的深度图片;对获得的深度图片的深度分配获得第一左深度图和第一右深度图,其中,对第一左深度图和第一右深度图进行至少三次以上的左右定向平滑及上下定向平滑处理获得深度图片内部定向平滑后的第二左深度图和第二右深度图;对深度图片内部定向平滑后的第二左深度图和第二右深度图进行边缘定向平滑处理获得定向平滑后的第三左深度图和第三右深度图;根据定向平滑后的第三左深度图和第三右深度图对原始图片及相对应的深度图片进行转制。上述方法能够有效且准确的实现对图像进行填补的操作。

附图说明

图1为本发明一个实施例中的增填图像的方法的步骤流程图;以及

图2为本发明一个实施例中的增填图像的装置的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明增填图像的方法和装置进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

如图1所示,为一个实施例中的一种增填图像的方法的步骤流程图。具体包括以下步骤:

步骤102,在视频帧序列及各帧对应的深度图中,获取所要处理的视频每一帧的原始图片,并根据原始图片获得相对应的深度图片。需要说明的是,原始图片就是需要转制成立体的图片,深度图片与原始图片尺寸相同,记录原始图片每个像素的深度信息。

步骤104,对获得的深度图片的深度分配获得第一左深度图和第一右深度图,其中,对第一左深度图和第一右深度图进行至少三次以上的左右定向平滑及上下定向平滑处理获得深度图片内部定向平滑后的第二左深度图和第二右深度图。需要说明的是,第一左深度图和第一右深度图可归类为左右图,即左右时差图,通过深度图片记录的信息,将原始图片的像素移位填充,并将没有填充像素的地方通过补图算法进行像素填充,得到左图和右图,用左图和右图就可以看到立体图片。左右序列帧通过深度序列帧记录的信息,将原始序列帧的像素进行位移填充,并将没有填充像素的地方,通过补图算法进行像素填充,得到左序列帧和右序列帧,用左序列帧和右序列帧就可以看到立体序列帧,即立体视频。

本实施例中,对第一左深度图和第一右深度图进行至少三次以上的左右定向平滑及上下定向平滑处理获得深度图片内部定向平滑后的第二左深度图和第二右深度图的步骤包括:对第一左深度图及第一右深度图的每一行从左到右或从右到左逐个像素扫描,判断相邻两个像素是否都具有深度值,若没有,则继续对下一个像素执行扫描;若有,判断相邻两个像素左边比右边或右边比左边距离观察者是否远预设个数的深度值,若不满足,则继续对下一个像素执行扫描;若满足,计算相邻两个像素的深度差,以右像素深度值为基础,从右向左每移动一个像素,右像素深度值加上一个深度值并进行赋值,直到大于左像素的深度值或大于当前位置的深度值后停止赋值,同时记录赋值的像素位置,或以左像素深度值为基础,从左向右每移动一个像素,左像素深度值加上一个深度值并进行赋值,直到大于右像素的深度值或大于当前位置的深度值后停止赋值,同时记录赋值的像素位置,其中深度值为0时,像素位于屏幕上,深度值为负值时为出屏效果,深度值为正值时为入屏效果,数值越小距离观察者越近;当前行扫描完毕后进行下一行的扫描。

此外,对第一左深度图和第一右深度图进行至少三次以上的左右定向平滑及上下定向平滑处理获得深度图片内部定向平滑后的第二左深度图和第二右深度图的步骤还包括:对经过左右定向平滑的第一左深度图和第一右深度图的每一列从下到上或从上到下逐个像素扫描,判断当前所扫描的像素是否为左右平滑过程中赋值的像素,若不是,则继续对下一个像素执行扫描;若有,判断当前所扫描的像素和其上方相邻的像素是否都具有深度值,若没有,则继续对下一个像素执行扫描;若有,判断相邻两个像素上边比下边或下边比上边距离观察者是否远预设个数的深度值,若不满足,则继续对下一个像素执行扫描;若满足,计算上下相邻两个像素的深度差,以下像素的深度值为基础,从下向上每移动一个像素,下像素深度值加上一个深度值并进行赋值,直到大于上像素的深度值或大于当前位置的深度值后停止赋值,同时记录赋值的像素位置,或以上像素的深度值为基础,从上向下每移动一个像素,上像素深度值加上一个深度值并进行赋值,直到大于下像素的深度值或大于当前位置的深度值后停止赋值,同时记录赋值的像素位置,其中深度值为0时,像素位于屏幕上,深度值为负值时为出屏效果,深度值为正值时为入屏效果,数值越小距离观察者越近;当前列扫描完毕后进行下一列的扫描。

针对上下定向平滑处理需要说明的是,在进行第一次左右定向平滑之后,平滑区域的上下边界会出现与原图不符的深度跳跃,这样一旦转成立体视差图像,就会呈现原本连续的背景不同的视差位移,导致断裂,所以需要再对这个平滑区域的上下边界进行上述上下定向平滑。这样就消除了上下边界的断裂问题。但此时会在左右方向再产生新的深度跳跃,这必然会在转成视差图像时形成新的大空洞,所以需要对这新产生的左右方向深度再进行第一步的左右方向背景深度平滑。这样会导致新的上下方向深度跳变,形成新的断裂问题,于是需要进一步进行上下平滑。如此完成一个周期的平滑后就消除了所有的左右方向和上下方向的深度跳跃,既不会出现大空洞,也不会出现完整的一块背景拉扯断裂。

步骤106,对深度图片内部定向平滑后的第二左深度图和第二右深度图进行边缘定向平滑处理获得定向平滑后的第三左深度图和第三右深度图。

本实施例中,对深度图片内部定向平滑后的第二左深度图和第二右深度图进行边缘定向平滑处理获得定向平滑后的第三左深度图和第三右深度图的步骤包括:对经过左右定向平滑及上下定向平滑处理后的第二左深度图和第二右深度图进行从左到右或从右到左逐行扫描;左深度图将最右像素深度值设置为0,若最右像素的当前深度值小于0,则停止赋值,若最右像素的当前深度值大于0,则从右向左每移动一个像素加上一个深度值并进行赋值,直到大于当前位置的深度值停止赋值,或将最左像素深度值设置为0,若最左像素的当前深度值大于0,则停止赋值,若最左像素的当前深度值小于0,则从左向右每移动一个像素减去一个深度值并进行赋值,直到小于当前位置的深度值停止赋值;右深度图将最右像素深度值设置为0,若最右像素的当前深度值大于0,则停止赋值,若最右像素的当前深度值小于0,则从右向左每移动一个像素减去一个深度值并进行赋值,直到小于当前位置的深度值停止赋值,或将最左像素深度值设置为0,若最左像素的当前深度值小于0,则停止赋值,若最左像素的当前深度值大于0,则从左向右每移动一个像素加上一个深度值并进行赋值,直到大于当前位置的深度值停止赋值;直到所有行扫描完毕。

步骤108,根据定向平滑后的第三左深度图和第三右深度图对原始图片及相对应的深度图片进行转制。

本实施例中,根据定向平滑后的第三左深度图和第三右深度图对原始图片及相对应的深度图片进行转制的步骤包括:采用从左到右或从右到左方式分别对定向平滑后的深度图片、深度图片和原始图片进行逐个像素赋值;当从左到右进行赋值,则判断原始图片的当前像素是否为当前行的最后一个像素,若是,则选择当前像素的左侧像素为相邻像素,若不是,则选择当前像素的右侧像素为相邻像素,或当从右到左进行赋值,则判断原始图片的当前像素是否为当前行的最后一个像素,若是,则选择当前像素的右侧像素为相邻像素,若不是,则选择当前像素的左侧像素为相邻像素;判断当前像素的α通道是否大于0,若不大于则继续对下一个像素执行赋值操作;若大于,获得当前像素对应的深度值和平滑后的深度值,并对当前像素深度值进行取整,判断根据取整后数值进行位移后的当前像素位置是否在图像之内,若不在,则继续对下一个像素执行赋值操作;若在,根据所述原始图片的当前像素与相邻像素采用深度值小数位加权方式进行位移赋值,及根据定向平滑后的深度图片和原始深度图片的当前像素与原始图片的当前像素同时进行位移赋值,并分别判断位移后的像素位置是否进行过赋值,或判断原始图片当前深度值是否小于要进行赋值位置的深度值,若不存在赋值,则位移后的像素直接覆盖该像素位置,若原始图片当前深度值小于要进行赋值位置的深度值,则位移后的像素直接覆盖该像素位置,反之,则继续对下一个像素执行赋值操作;当左图进行从左到右位移赋值时,判断当前像素在位移后的像素深度值是否比上一个像素位移后的像素深度值小,或从右到左位移赋值时,判断当前像素在位移后的像素深度值是否比上一个像素位移后的像素深度值大,若是,则对原始图片根据像素转制公式对位移后的当前像素与位移后的上一个像素之间的像素位置点进行赋值,对原始深度图和平滑后的深度图采用位移后当前像素与位移后的上一个像素相比较大的深度值对两者之间的像素位置点进行赋值,反之,则继续对一下个像素执行赋值操作,或当右图进行从左到右位移赋值时,判断当前像素在位移后的像素深度值是否比上一个像素位移后的像素深度值大,或从右到左位移赋值时,判断当前像素在位移后的像素深度值是否比上一个像素位移后的像素深度值小,若是,则对原始图片根据像素转制公式对位移后的当前像素与位移后的上一个像素之间的像素位置点进行赋值,对原始深度图和平滑后的深度图采用位移后当前像素与位移后的上一个像素相比较大的深度值对两者之间的像素位置点进行赋值,反之,则继续对下一个像素执行赋值操作;当前行扫描完毕后进行下一行的扫描。

在一个实施例中,还包括对定向平滑处理后的第三左深度图和第三右深度图进行粘连消除处理;以及对转制后的图进行羽化处理。需要说明的是,为了防止前景边缘与背景不匹配,有生硬的感觉。羽化参数决定模糊范围的大小。具体为:选取原始图片的一个当前像素,计算获得所述当前像素与各个相邻像素之间的深度差;判断获得的各个深度差是否在预设数值范围内;若存在任一一个深度差不在预设数值范围内,则根据羽化数值对当前像素及其周围像素进行高斯模糊处理。

在一个实施例中,该增填图像的方法还包括:对多视点图像的处理。具体包括:通过上述方法获得序列视差图像,其中,使背景图补图时至前景图的边缘;将原始深度图中平滑区域深度值采用各个序列视差图像中立体感最大的一对视差图像的深度值对原始图像进行补图;将原始深度图中非平滑区域深度值保持原有的深度值对原始图像进行补图。通过上述处理步骤则可获得多视点图像的转制效果图。

本发明提供的一种增填图像的方法,在视频帧序列及各帧对应的深度图中,获取所要处理的视频每一帧的原始图片,并根据原始图片获得相对应的深度图片;对获得的深度图片的深度分配获得第一左深度图和第一右深度图,其中,对第一左深度图和第一右深度图进行至少三次以上的左右定向平滑及上下定向平滑处理获得深度图片内部定向平滑后的第二左深度图和第二右深度图;对深度图片内部定向平滑后的第二左深度图和第二右深度图进行边缘定向平滑处理获得定向平滑后的第三左深度图和第三右深度图;根据定向平滑后的第三左深度图和第三右深度图对原始图片及相对应的深度图片进行转制。上述方法能够有效且准确的实现对图像进行填补的操作。

基于同一发明构思,还提供了一种增填图像的装置,由于此装置解决问题的原理与前述一种增填图像的方法相似,因此,该装置的实施可以按照前述方法的具体步骤实现,重复之处不再赘述。

如图2所述,为一个实施例中的一种增填图像的装置的结构示意图。该增填图像的装置10包括:获取模块100、分配模块200、第一定向平滑处理模块300、第二定向平滑处理模块400和转制模块500。

其中,获取模块100用于在视频帧序列及各帧对应的深度图中,获取所要处理的视频每一帧的原始图片,并根据原始图片获得相对应的深度图片;分配模块200用于对获得的深度图片的深度分配获得第一左深度图和第一右深度图;第一定向平滑处理模块300用于对第一左深度图和第一右深度图进行至少三次以上的左右定向平滑及上下定向平滑处理获得深度图片内部定向平滑后的第二左深度图和第二右深度图;第二定向平滑处理模块400用于对深度图片内部定向平滑后的第二左深度图和第二右深度图进行边缘定向平滑处理获得定向平滑后的第三左深度图和第三右深度图;转制模块500用于根据定向平滑后的第三左深度图和第三右深度图对原始图片及相对应的深度图片进行转制。

在一个实施例中,该增填图像的装置10还包括:粘连消除处理模块600(图中未示出)用于定向平滑处理后的第三左深度图和第三右深度图进行粘连消除处理;羽化处理模块700(图中未示出)用于对转制后的图进行羽化处理

本发明提供的一种增填图像的装置,通过获取模块100在视频帧序列及各帧对应的深度图中,获取所要处理的视频每一帧的原始图片,并根据原始图片获得相对应的深度图片;再通过分配模块200对获得的深度图片的深度分配获得第一左深度图和第一右深度图;继而通过第一定向平滑处理模块300对第一左深度图和第一右深度图进行至少三次以上的左右定向平滑及上下定向平滑处理获得深度图片内部定向平滑后的第二左深度图和第二右深度图;再通过第二定向平滑处理模块400对深度图片内部定向平滑后的第二左深度图和第二右深度图进行边缘定向平滑处理获得定向平滑后的第三左深度图和第三右深度图;最终通过转制模块500根据定向平滑后的第三左深度图和第三右深度图对原始图片及相对应的深度图片进行转制。上述装置能够有效且准确的实现对图像进行填补的操作。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1