发明内容
本发明的目的在于降低现有技术的计算量,提供一种新的用于视图合成的空洞填充方法,该方法适用于视图合成之后剩余的较小的空洞的填充。
为了达到上述发明目的,本发明用于视图合成的空洞填充方法,包括以下步骤:
(1)、在视图合成过程中,得到含有空洞的目标图像的同时生成一个大小与目标图像相同,用于指示目标图像中某点是否为空洞的0-1矩阵,0表示是该点是空洞点,1表示该点不是空洞点;
(2)、确定目标图像空洞点的8邻域像素集中,哪些点为填充点,其像素值用于填充该空洞点;
(3)、根据0-1矩阵确定每个空洞点的填充点中不是空洞点的个数;在目标图像中,对填充点中不是空洞点的个数大于或等于填充点数的空洞点进行填充;填充后,在0-1矩阵中将该空洞点所对应的元素置为1,表示不是空洞;
(4)、根据0-1矩阵确定每个空洞点的填充点中不是空洞点的个数,在目标图像中,对填充点中不是空洞点的个数大于或等于填充点数减1的空洞点进行填充;填充后,在0-1矩阵中将该空洞点所对应的元素置为1,表示不是空洞;根据0-1矩阵判断,若还存在填充点中不是空洞点的个数大于或等于填充点数减1的空洞点,则转到步骤(3),否则转步骤(5);
(5)、根据0-1矩阵确定每个空洞点的填充点中不是空洞点的个数,在目标图像中,对填充点中不是空洞点的个数大于或等于填充点数减2的空洞点进行填充;填充后,在0-1矩阵中将该空洞点所对应的元素置为1,表示不是空洞;根据0-1矩阵判断,若还存在填充点中不是空洞点的个数大于或等于填充点数减2的空洞点,则转到步骤(3),否则转步骤(6);
(6)、依据步骤(4)、(5)的方法,进一步减小填充点中不是空洞点个数的判断数量,然后进行判断并填充;填充后,在0-1矩阵中将该空洞点所对应的元素置为1,表示不是空洞;然后,根据0-1矩阵判断,若还存在填充点中不是空洞点的个数大于或等于判断数量的空洞点,则转到步骤(3),否则重复步骤(6),直至判断数量为1,并且不存在填充点中不是空洞点的个数大于或等于1的空洞点为止。
本发明的特点是利用视图合成过程中得到的0-1矩阵记录合成的视图中哪些点是空洞点。这样做的好处是可以准确辨别哪些像素是真正的空洞,节省了计算量。另外,本发明在每一轮的填充过程中总是先插值那些填充点中不空较多的空洞点,从而保证了用于填充的像素值接近真实值。
具体实施方式
为更好地理解本发明,下面结合具体实施方式对本发明进行更为详细描述。在以下的描述中,当已有的现有技术的详细描述也许会淡化本发明的主题内容时,这些描述在这儿将被忽略。
实施例1
在本实施例中,经过视图合成过程得到含有空洞的目标图像,同时生成用于指示某点是否为空洞点的0-1矩阵,其大小与目标图像相同,它的每一个元素表示了目标图像中对应点当前是否已被填充的状态,0表示该点是空洞点,1表示该点不是空洞点。
如图1所示,在本实施例中,确定目标图像空洞点的8邻域像素集中,上下左右四个点为填充点,其像素值用于填充该空洞点。图1中,“×”表示选取,“0”表示为空洞。图2是图1所示的填充点的选取方式下,处于图像边界处的填充点的选取示意图,此时,0-1矩阵边界外的点补充为0。
在本实施例中,步骤(3)为:根据0-1矩阵确定每个空洞点的填充点数,即上下左右四个点中不是空洞点的个数;在目标图像中,对填充点中不是空洞点的个数等于填充点数,即4的空洞点进行填充。填充后,在0-1矩阵中将该空洞点所对应的元素置为1,表示不是空洞。
在本实施例中,步骤(4)为:根据0-1矩阵确定每个空洞点的填充点中不是空洞点的个数,在目标图像中,对填充点,即上下左右四个点中不是空洞点的个数中大于或等于填充点数减1,即3的空洞点进行填充。填充后,在0-1矩阵中将该空洞点所对应的元素置为1,表示不是空洞;根据0-1矩阵判断,若还存在填充点中不是空洞点的个数大于或等于填充点数减1,即3的空洞点,则转到步骤(3),否则转步骤(5);
在本实施例中,步骤(5)为:根据0-1矩阵确定每个空洞点的填充点中不是空洞点的个数,在目标图像中,对填充点,即上下左右四个点中不是空洞点的个数中大于或等于填充点数减2,即2的空洞点进行填充。填充后,在0-1矩阵中将该空洞点所对应的元素置为1,表示不是空洞;根据0-1矩阵判断,若还存在填充点中不是空洞点的个数大于或等于填充点数减1,即2的空洞点,则转到步骤(3),否则转步骤(6);
在本实施例中,步骤(6)为:依据步骤(4)、(5)的方法,进一步减小填充点中不是空洞点个数的判断数量,在本实施例中,为1。然后在目标图像中,对填充点,即上下左右四个点中不是空洞点的个数中大于或等于填充点数减3,即1的空洞点进行填充,在0-1矩阵中将该空洞点所对应的元素置为1,表示不是空洞;然后,根据0-1矩阵判断,若还存在填充点中不是空洞点的个数大于或等于判断数量,即1的空洞点,则转到步骤(3),否则,停止。在本实施例中,由于判断数量已经为1,不再重复步骤(6)。
本实施例中,只选取了空洞点上下左右四个点作为,这样计算量进一步减小,并且空洞填充的像素值也比较接近真实值。
实施例2
在本实施例中,具体步骤同实施例1,但选择的填充点为空洞点的左上、左下、右上、右下四个点。
实施例3
在本实施例中,本发明所述的空洞点的填充按以下公式进行:
其中,F(x,y)表示目标图像中,坐标为(x,y)的空洞点的填充像素值,V(x+i,y+j)表示目标图像中,坐标为(x+i,y+j)的填充点的像素值,non_hole(x+i,y+j)表示0-1矩阵中坐标为(x+i,y+j)的元素值。
在本实施例中,将目标图像中,坐标为(x,y)的空洞点的8邻域像素集中所有点都作为填充点,其像素值用于填充该空洞点。本实施例中,填充像素值为不是空洞点的填充点的像素值的平均值,进一步保证了用于填充的像素值接近真实值。
实施例4
在本实施例中,将目标图像中,坐标为(x,y)的空洞点的8邻域像素集中的上下左右四个点为填充点,其像素值用于填充该空洞点,具体填充按以下公式进行:
其中,F(x,y)表示目标图像中,坐标为x,y的空洞点的填充像素值,V(x+i,y+j)表示目标图像中,坐标为x+i,y+j的填充点的像素值,non_hole(x+i,y+j)表示0-1矩阵中坐标为x+i,y+j的元素值,但在填充过程时,non_hole(x+1,y+1)、non_hole(x+1,y-1)、non_hole(x-1,y-1)、non_hole(x-1,y+1)置为0。
尽管上面对本发明说明性的具体实施方式进行了描述,但应当清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。