一种渲染图像的方法和装置的制作方法

文档序号:6575077阅读:155来源:国知局
专利名称:一种渲染图像的方法和装置的制作方法
技术领域
本发明涉及图像处理领域,特别涉及一种渲染图像的方法和装置。
背景技术
近年来,随着自由立体显示技术在硬件和软件研究上的不断突破,自由立 体显示在医学领域、勘探领域抑或娱乐业等领域都受到了越来越多的青睐。
为了使自由立体显示的效果更好、速度更快,涌现出了多种对图像的渲染算
法,常见的渲染算法大致分为两类
第一类是原图加深度图渲染算法(2D plus Z),主要是根据场景点在深度 图里对应的深度值来计算该场景点在已知视图和所要求的中间视图中的视差 值,再计算出场景点在中间视图中的投影位置,对所有场景点都进行上述计算, 就可以渲染出中间:规图。
第二类是多视图渲染算法(multi-view),主要是根据已知的多个视图来渲 染出场景4壬意^L角的一见图。
在对视图进行渲染时,因为场景点之间发生遮挡而导致空洞的发生。如图1 所示,Cl对应左视图视点,C2对应右视图视点。场景点Pl和P2在左视图L中 投影在同一位置P,这样,离左视点C1较远的场景点P1就会被P2遮挡。场景 点Pl和P2在右视图R上又分别投影于位置Pl,、 P2',这样,如果基于左视图 和深度图进行右视图的渲染时,在右视图R上的Pl,点就会因为没有对应的信息 而出现空洞。
解决空洞问题主要有两种方法 一种是利用背景、紋理、相邻像素等对空洞 进行填充;另一种是对深度图进行预处理,主要对其进行平滑处理,平滑深度 的不连续性,以减少图像绘制后产生的空洞。在实现本发明的过程中,发明人发现上述现有技术至少具有以下缺点 在对图像进行渲染时,第一类方法的渲染效果不好,渲染后的图像中空洞 很多;第二类方法所需存储和传输的数据量大,渲染算法复杂,渲染的速度慢。 在解决空洞问题的时候,填充技术不能从本质上解决空洞问题,特别是填 补面积较大的空洞时,会有明显的处理痕迹,填补效果不理想;平滑预处理^支 术对物体进行了变形,使得到的虚拟视点的视觉质量有明显的下降。

发明内容
为了简化渲染算法的复杂性、增强图像的渲染效果、加快渲染速度,本发 明实施例提供了 一种渲染图像的方法和装置。所述技术方案如下 一方面, 一种渲染图像的方法,包括
在待处理图像的左视图和右视图中任选一个作为第 一视图,另 一个作为第 二视图,对所述第一视图进行求深度图计算,得到与所述第一视图相对应的深 度根据所述第一视图和所述深度图进行渲染,得到中间视图; 根据预设阀值,填补所述中间视图中面积小于所述阀值的空洞; 根据所述中间视图和所述第二视图,从所述第二视图中寻找与所述中间视 图中面积大于所述阀值的空洞相似度最高的像素块; 将所述像素块复制并填补到所述空洞中。 具体地,
根据所述中间视图和所述第二视图,从所述第二视图冲寻找与所述中间视 图中面积大于所述阀值的空洞相似度最高的像素块,具体包括
在所述中间视图中,根据所述空洞的位置,沿所述空洞的相应边缘,在所 述空洞范围之外,取预设个数的像素,组成比较像素块;
在所述中间视图中,以所述比较像素块为起始块,在所述空洞范围之外, 选取一个包含所述起始块的比较区域,在所述第二视图中选取与所述比较区域相对应的区域作为寻找区域;
在所述寻找区域中沿远离所述空洞的方向,每平移一个像素选取一个与所 述比较像素块形状、面积均相同的像素块,将所述比较像素块中的每个像素与 所述像素块中和所述像素位置相对应的像素相减,并分别对得到的每个差值进 行平方运算,将所得的平方值全部相加,得到与所述^f象素块对应的和值;
比较每个像素块对应的和值,选出和值最'J、的像素块;
根据所述空洞在所述中间视图上的位置,对所述和值最小的像素块的每一 行,以所述像素块相应边缘上的该行的像素为起始,取与所述空洞中所对应的 行中同等数量的像素,将由所述像素组成的没有空洞的^象素块作为与所述空洞 相似度最高的像素块。
具体地,
本实施例中,所述第一视图可以为左视图,所述第二视图可以为右视图, 在所述中间视图中,根据所述空洞的位置,沿所述空洞的相应边缘,在所述空 洞范围之外,取预设个数的像素,组成比较像素块,具体包括
若所述中间视图中的空洞与所述中间视图的右边缘有重合部分,在所述空 洞左边的区域中选取所述比较像素块;
若所述中间视图中的空洞与所述中间视图的右边缘没有重合部分,在选取 所述空洞右边的区域中选取所述比较像素块;
相应地,根据所述空洞在中间视图上的位置,对所述和值最小的像素块的 每一行,以所述像素块相应边缘上的该行的像素为起始,取与所述空洞中所对 应的行中同等数量的像素,将由所述像素组成的没有空洞的像素块作为与所述 空洞相似度最高的像素块,具体包括
若所述中间视图中的空洞与所述中间视图的右边缘有重合部分,对和值最 小的像素块的每一行,以所述像素块右边缘上的该行的像素为起始,在水平方 向上按照从左至右的顺序,取与所述空洞中所对应的行中同等数量的像素,将 由所述像素组成的没有空洞的像素块作为与所述空洞相似度最高的像素块;若所述中间视图中的空洞与所述中间视图的右边缘没有重合部分,对和值 最小的像素块的每一行,以所述像素块左边缘上的该行的像素为起始,在水平 方向上按照从右至左的顺序,取与所述空洞中所对应的行中同等数量的像素, 将由所述像素组成的没有空洞的像素块作为与所述空洞相似度最高的像素块。
本实施例中,还可以是所述第一视图为右视图,所述第二视图为左视图, 在所述中间视图中,根据所述空洞的位置,沿所述空洞的相应边缘,在所述空
洞范围之外,取预设个数的像素,组成比较像素块,具体包括
若所述中间视图中的空洞与所述中间视图的左边缘有重合部分,在所述空 洞右边的区域中选取所述比较像素块;
若所述中间视图中的空洞与所述中间视图的左边缘没有重合部分,在所述 空洞左边的区域中选取所述比较像素块;
相应地,根据所述空洞在中间视图上的位置,对所述和值最小的像素块的 每一行,以所述像素块相应边缘上的该行的像素为起始,取与所述空洞中所对 应的行中同等数量的像素,将由所述像素组成的没有空洞的像素块作为与所述 空洞相似度最高的像素块,具体包括
若所述中间视图中的空洞与所述中间视图的左边缘有重合部分,对和值最 小的像素块的每一行,以所述像素块左边缘上的该行的像素为起始,在水平方 向上按照从右至左的顺序,取与所述空洞中所对应的行中同等数量的像素,将 由所述像素组成的没有空洞的像素块作为与所述空洞相似度最高的像素块;
若所述中间视图中的空洞与所述中间视图的左边缘没有重合部分,对和值 最小的像素块的每一行,以所述像素块右边缘上的该行的像素为起始,在水平 方向上按照从左至右的顺序,取与所述空洞中所对应的行中同等数量的像素, 将由所述像素组成的没有空洞的像素块作为与所述空洞相似度最高的像素块。 另一方面, 一种渲染图像的装置,所述装置包括
深度图计算模块,用于在待处理图像的左视图和右视图中任选一个作为第 一视图,另一个作为第二视图,对所述第一视图进行求深度图计算,得到与所述第 一视图相对应的深度渲染模块,用于根据所述第 一视图和所述深度图计算模块得到的深度图进 行渲染,得到中间视第一填补模块,用于根据预设的阀值,填补所述渲染模块得到的中间视图 中面积小于所述阀^f直的空洞;
计算模块,由于根据所述中间视图和所述第二视图,从所述第二视图中寻
找与所述中间视图中面积大于所述阀值的空洞相似度最高的像素块; 第二填补模块,用于将所述^f象素块复制并填补到所述空洞中。 具体地,所述计算模块具体包括
比较像素块选取单元,用于在所述中间视图中,根据所述空洞的位置,沿 所迷空洞的相应边缘,在所述空洞范围之外,取预设个数的像素,组成比较像 素块;
寻找区域选取单元,用于在所述中间视图中,以所述比较像素块为起始块, 在所述空洞范围之外,选取一个包含所述起始块的比较区域,在所述第二视图 中选取与所述比较区域相对应的区域作为寻找区域;
相似度计算单元,用于在所述寻找区域中沿远离所述空洞的方向,每平移 一个像素选取一个与所述比较像素块形状、面积均相同的像素块,将所述比较 像素块中的每个像素与所述像素块中和所述像素位置相对应的像素相减,并分 别对得到的每个差值进行平方运算,将所得的平方值全部相加,得到与所述像 素块对应的和值;
比较单元,用于比较每个像素块对应的和值,选出和值最小的像素块; 选取单元,用于根据所述空洞在中间视图上的位置,对所述和值最小的像 素块的每一行,以所述像素块相应边缘上的该行的像素为起始,取与所述空洞 中所对应的行中同等数量的像素,将由所述像素组成的没有空洞的像素块作为 与所述空洞相似度最高的^f象素块。
本实施例中,所述第一视图可以为左视图,所述第二视图可以为右视图,所述比较像素块选取单元具体包括
第一比较像素块选取子单元,用于若所述中间视图中的空洞与所述中间视
图的右边缘有重合部分,在所述空洞左边的区域中选取所述比较像素块;若所 述中间视图中的空洞与所述中间视图的右边缘没有重合部分,在所述空洞右边 的区域中选取所述比较像素块;
相应地,所述选取单元具体包括
第一选取子单元,用于若所述中间视图中的空洞与所述中间视图的右边缘 有重合部分,对和值最小的像素块的每一行,以所述像素块右边缘上的该行的 像素为起始,在水平方向上按照从左至右的顺序,取与所述空洞中所对应的行 中同等数量的像素,将由所述像素组成的没有空洞的像素块作为与所述空洞相 似度最高的像素块;若所述中间视图中的空洞与所述中间视图的右边缘没有重 合部分,对和值最小的像素块的每一行,以所述像素块左边缘上的该行的像素 为起始,在水平方向上按照从右至左的顺序,取与所述空洞中所对应的行中同 等数量的像素,将由所述像素组成的没有空洞的像素块作为与所述空洞相似度 最高的像素块。
本实施例中,还可以是所述第一视图为右视图,所述第二视图为左视图, 所述比较像素块选取单元具体包括
第二比较像素块选取子单元,用于若所述中间视图中的空洞与所述中间视 图的左边缘有重合部分,在所述空洞右边的区域中选取所述比较像素块;若所 述中间视图中的空洞与所述中间视图的左边缘没有重合部分,在所述空洞左边 的区域中选取所述比较像素块;
相应地,所述选取单元具体包括
第二选取子单元,用于若所述中间视图中的空洞与所述中间视图的左边缘 有重合部分,对和值最小的像素块的每一行,以所述像素块左边缘上的该行的 像素为起始,在水平方向上按照从右至左的顺序,取与所述空洞中所对应的行 中同等数量的像素,将由所述像素组成的没有空洞的像素块作为与所述空洞相似度最高的像素块;若所述中间视图中的空洞与所述中间视图的左边缘没有重 合部分,对和值最小的像素块的每一行,以所述像素块右边缘上的该行的像素 为起始,在水平方向上按照从左至右的顺序,取与所述空洞中所对应的行中同 等数量的像素,将由所述像素组成的没有空洞的像素块作为与所述空洞相似度 最高的像素块。
本发明实施例提供的技术方案的有益效果是
通过利用左右碎见图和一张深度图进行图像渲染,在渲染过程中对产生的大 小空洞分别进行处理,先处理较小的空洞,再利用寻找相似度最高的像素块的 方法对大空洞进行处理,不仅简化了现有渲染算法的复杂性,加快了渲染的速 度,而且大大增强了空洞的填补效果。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施 例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述 中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付 出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 图l是现有技术中渲染图像过程中产生空洞的原理图; 图2是本发明实施例1提供的渲染图像的方法的一种流程图; 图3是本发明实施例2提供的渲染图像的方法的另一种流程图; 图4是本发明实施例3提供的渲染图像的方法的另一种流程图; 图5是本发明实施例4提供的渲染图像的装置的结构示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明 实施方式作进一步地详细描述。 实施例1参见图2 ,本发明实施例提供了 一种渲染图像的方法,用于对图像进行渲染,
包括
Sl:在待处理图像的左视图和右视图中任选一个作为第一视图,另一个作 为第二视图,对第一视图进行求深度图计算,得到与第一视图相对应的深度图; S2:根据第一视图和深度图进行渲染,得到中间视图; S3:根据预设阀值,填补中间视图中面积小于阀值的空洞; S4:对于中间视图中面积大于阀值的空洞,根据中间视图和第二视图,从 第二视图中寻找与空洞相似度最高的像素块; S5:将像素块复制并填补到空洞中。
通过利用左右视图和一张深度图进行图像渲染,在渲染过程中对产生的大 小空洞分别进行处理,先处理较小的空洞,再利用寻找相似度最高的像素块的 方法对大空洞进行处理,不仅筒化了现有渲染算法的复杂性,加快了渲染的速 度,而且大大增强了空洞的填补效果。
实施例2
参见图3,本发明实施例提供了一种渲染图像的方法,其中第一视图为左视 图,第二视图为右^L图,具体包括
301:根据待处理图像的左视图和右视图,对左视图进行计算,得到与左视 图相对应的深度其中,采集待处理图像的摄像机可以是双目摄像机或两个、两个以上的摄 像机,也可以是其他种类的摄像机,本实施例不做具体限定。
其中,计算深度图时所用的算法可以是多种,本实施例中不做具体限定。 在本实施例中,计算深度图的算法以立体匹配算法为例。 具体地,计算所有在左视图有投影的场景点在左视图和右视图中的投影位 置值,将所得同一场景点在左视图和右视图的投影位置值相减,根据差值,计 算出该场景点的深度值,对所有在左视图有投影的场景点进行上述相同计算, 得到与左视图相对应的深度图。302:根据左视图和深度图进行渲染,得到中间视其中,渲染方法可以是多种,本实施例中不做具体限定。
其中,中间视图是介于左视点和右视点(包括右视点)之间任意视点的视图。
303:根据预设的阀值,对中间视图上的空洞的面积进行检测并判断; 具体地,设定一个阀值,对中间视图上的空洞的面积进行;险测,若空洞面 积小于阀值,用插补方式去填充空洞,插补方式可以有多种,本实施例不估丈具 体限定。在本实施例中仅以常值插补为例进行说明,常值插补是将空洞右边缘 相邻且有值的像素从右向左依次复制并填补到空洞里。若空洞面积大于阀值, 继续执行操作。
其中,阀值是根据用户的实际需要进行设定,本发明对此不作限制。 304:在中间视图中,选取一个像素块作为比较像素块; 具体地,选取比4交-像素块的方法为
若空洞与中间视图右边缘有重合部分,相应边缘指的是该空洞的左边缘, 则在空洞左边的区域中选取比较像素块,在水平方向上按照从右至左的顺序, 在空洞的范围之外,取预设个数的像素,这些像素组成一个没有空洞的像素块, 将该像素块作为比较像素块;
若空洞与中间视图右边缘没有重合部分,相应边缘指的是该空洞的右边缘, 则在空洞右边的区域中选取比较像素块,在水平方向上按照从左至右的顺序, 在空洞的范围之外,取3贞设个数的像素,这些像素组成一个没有空洞的像素块,
将该像素块作为比较像素块。
其中,与中间视图右边缘有重合部分的空洞是由左视图中最右边的场景点
在中间视图中的投影位置相对于该场景点在左视图中的投影位置向左偏移造成的。
其中,在垂直方向上取像素时,可以从上至下、从下至上或随机选取,本 发明对此不作限制。其中,像素的预设个数可以按照实际需要进行选取,每行的预设个数可以 相等,也可以不相等,本发明对此不作限制。
305:在右视图中选取一个寻找区域,将该区域作为寻找并复制像素的区域; 其中,寻找区域的选取方法为在所述中间视图中,以所述比较像素块为
起始块,在所述空洞范围之外,选取一个包含所述起始块的比较区域,在所述
右视图中选取与所述比4^区域相对应的区域作为寻找区域。
其中,寻找区域的大小需按照实际需要进行选取,本发明对此不作限制。 示例如下例如,中间一见图上,比较像素块A中有3个像素,坐标分别为 (1, 5)、 (2, 5)和(3, 5),以比较像素块A为起始块的比较区域B中有5个
像素,坐标分别为(1, 5)、 (2, 5)、 (3, 5)、 (4, 5)和(5, 5),相应地,在
右视图中选取坐标为(1, 5)、 (2, 5)、 (3, 5)、 (4, 5)和(5, 5)的像素,
组成区域B,,将这个区域作为寻找区域。
306:基于中间视图和右视图,寻找与上述空洞相似度最高的像素块; 具体地,寻找与上述空洞相似度最高的像素块的方法是 在寻找区域中沿远离空洞的方向,每平移一个像素选取一个与比较像素块
形状、面积均相同的像素块,将比较像素块中的每个像素与该像素块中和像素
位置相对应的像素相减,并分别对得到的每个差值进行平方运算,将所得的平
方值全部相加,得到与该像素块对应的和值;
比较每个像素块对应的和值,选出和值最小的像素块;
其中,相似度与上述求得和值成反比,和值越小,相似度越高,和值最小
的像素块对应的相似度最高。
若空洞与中间视图右边缘有重合部分,对和值最小的像素块的每一行,以
该像素块右边缘上的该行的像素为起始,在水平方向上按照从左至右的顺序,
取与空洞中所对应的行中同等数量的像素,这些像素组成一个没有空洞的像素
块,该像素块的形状、面积均与上述空洞相同,将该像素块作为与上述空洞相
似度最高的像素块;若空洞与中间视图右边缘没有重合部分,对和值最小的像素块的每一行, 以该像素块左边缘上的该行的像素为起始,在水平方向上按照从右至左的顺序, 取与空洞中所对应的行中同等数量的像素,这些像素组成一个没有空洞的像素 块,该像素块的形状、面积均与上述空洞相同,将该像素块作为与上述空洞相 似度最高的像素块。
其中,在垂直方向上取像素时,可以从上至下、从下至上或随机选取,本 发明对此不作限制。
307:将相似度最高的像素块复制并填补到空洞中。
若空洞与中间视图右边缘有重合部分,从该像素块的左边缘开始,按照水 平方向从左至右的顺序逐行复制该像素块中的像素,将所复制的像素填补到中 间视图中的上述空洞中;
若空洞与中间视图右边缘没有重合部分,从该像素块的右边缘开始,按照 水平方向从右至左的顺序逐行复制该像素块中的像素,将所复制的像素填补到 中间视图中的上述空洞中。
其中,垂直方向的复制顺序可以是从上到下、从下到上或随机选取,本实 施例中不做具体限定。
示侈ij^口下仿'J^口,
将待处理图像的左视图记为L,右视图记为R。基于L和R,按照计算深度 图的算法进行计算,获得与L相对应的深度图,将该深度图记为D。根据L和D 进行渲染,渲染出中间#见图,将该中间^f见图记为V;
在V中的每一行从空洞左边缘的点开始从右向左数M个像素,设其每列有 /ze妙,个像素,将这个像素块作为比较像素块。在V中,对每一行从右至左进行 扫描,假设第Y行最右边的空洞内像素的个数是A^,把这M个交叠像素自右至
左依次记为/2p/22…Z^ ;
在R中选取一个寻找区域,该寻找区域每一行有《个像素,以第w,i个像 素开始,从右至左,每平移一个像素,选取一个与比较像素块形状、面积均相200910088300.9
同的像素块,在第Y行,即有读取第A^+hl个到第iV"/t + M个像素,共M个像
素,其中"0..《—",把这"个像素自右至左依次记为//1+/1,//2+广.^^,即随着A:的 取值不同,得到M + l个由M个像素组成的像素块;
对寻找区域中选取的每个像素块进行如下运算将V和R中的第Y行中的 像素按照公式Z (/^-7/^f进行计算,得到两图中每一行所有位置对应的像素
的像素差的平方和,对这些和值进行求和运算,按照公式
/附=S Z (&麵-A+^e)2,"0..A-M进行运算,求的寻找区域中选取的每 个^象素块相只十应的值;
比较ww值的大小,选出与最小的^w值相对应的像素块,并确定it值,与最 d 、的w 值相对应的像素块右边的与空洞大小形状相同的像素块即是与空洞相 似度最高的像素块,将该像素块复制并填补到中间视图的空洞中。具体地,由
所确定的k值,将第w,yt个像素以右的^个像素按照从左至右的顺序复制到中 间视图V第Y行的空洞中,即、^一,、4 ^,一-"…K = 1 ,对每一行进行如上 所述的填补,就可以填补V中与中间视图右边缘有重合部分的空洞。
通过利用左右视图和一张深度图进行图像渲染,在渲染过程中对产生的大 小空洞分别进行处理,先处理较小的空洞,再利用寻找相似度最高的像素块的 方法对大空洞进行处理,不仅简化了现有渲染算法的复杂性,加快了渲染的速 度,而且大大增强了空洞的填补效果。
实施例3
参见图4,本发明实施例提供了一种渲染图像的方法,其中第一视图为右视 图,第二视图为左^见图,具体包括
401:根据待处理图像的左视图和右视图,对右视图进行计算,得到与右视 图相对应的深度402:根据右视图和深度图进行渲染,得到中间视403:根据预设的阀值,对中间视图上的空洞的面积进行检测并判断;404:在中间视图中,选取一个像素块作为比较像素块; 具体地,选取比较像素块的方法为
若空洞与中间视图左边缘有重合部分,相应边缘指的是该空洞的右边缘, 则在空洞右边的区域中选取比较像素块,在水平方向上按照从左至右的顺序, 在空洞的范围之夕卜,取预设个数的像素,这些像素组成一个没有空洞的像素块, 将该像素块作为比较像素块;
若空洞与中间视图左边缘没有重合部分,相应边缘指的是该空洞的左边缘, 则在空洞左边的区域中选取比较像素块,在水平方向上按照从右至左的顺序, 在空洞的范围之外,取预设个数的像素,这些像素组成一个没有空洞的像素块, 将该像素块作为比较像素块。
其中,与中间视图左边缘有重合部分的空洞是由右视图中最左边的场景点 在中间视图中的投影位置相对于该场景点在右视图中的投影位置向右偏移造成 的。
其中,在垂直方向上取像素时,可以从上至下、从下至上或随机选取,本
发明对此不作限制。
其中,像素的预设个数可以按照实际需要进行选取,每行的预设个数可以
相等,也可以不相等,本发明对此不作限制。
405:在左视图中选取一个寻找区域,将该区域作为寻找并复制像素的区域; 其中,寻找区域的选取方法为在所述中间视图中,以所述比较像素块为
起始块,在所述空洞范围之外,选取一个包含所述起始块的比较区域,在所述
左视图中选取与所述比较区域相对应的区域作为寻找区域。
其中,寻找区域的大小需按照实际需要进行选取,本发明对此不作限制。 406:基于中间视图和左视图,寻找与上述空洞相似度最高的像素块; 具体地,寻找与上述空洞相似度最高的像素块的方法是 在寻找区域中沿远离空洞的方向,每平移一个像素选取一个与比较像素块
形状、面积均相同的像素块,将比较像素块中的每个像素与该像素块中和像素位置相对应的像素相减,并分别对得到的每个差值进行平方运算,将所得的平
方值全部相加,得到与该像素块对应的和值;
比较每个像素块对应的和值,选出和值最小的像素块;
其中,相似度与上述求得和值成反比,和值越小,相似度越高,和值最小 的像素块对应的相似度最高。
若空洞与中间视图左边缘有重合部分,对和值最小的像素块的每一行,以 该像素块左边缘上的该行的像素为起始,在水平方向上按照从右至左的顺序, 取与空洞中所对应的行中同等数量的像素,这些像素组成一个没有空洞的像素 块,该像素块的形状、面积均与上述空洞相同,将该像素块作为与上述空洞相 似度最高的像素块;
若空洞与中间视图左边缘没有重合部分,对和值最小的像素块的每一行, 以该像素块右边缘上的该行的像素为起始,在水平方向上^t姿照从左至右的顺序, 取与空洞中所对应的行中同等数量的像素,这些像素组成一个没有空洞的像素 块,该像素块的形状、面积均与上述空洞相同,将该像素块作为与上述空洞相 似度最高的像素块。
其中,在垂直方向上取像素时,可以从上至下、 >人下至上或随机选取,本 发明对此不作限制。
407:将相似度最高的^f象素块复制并填补到空洞中。
若空洞与中间视图左边缘有重合部分,从该像素块的右边缘开始,按照水 平方向从右至左的顺序逐行复制该像素块中的像素,将所复制的像素填补到中 间视图中的上述空洞中;
若空洞与中间视图左边缘没有重合部分,从该像素块的左边缘开始,按照 水平方向从左至右的顺序逐行复制该像素块中的像素,将所复制的像素填补到 中间视图中的上述空洞中。
通过利用左右视图和一张深度图进行图像渲染,在渲染过程中对产生的大 小空洞分别进行处理,先处理较小的空洞,再利用寻找相似度最高的像素块的方法对大空洞进行处理,不仅简化了现有渲染算法的复杂性,加快了渲染的速 度,而且大大增强了空洞的填补效果。
实施例4
参见图5,本发明实施例提供了 一种渲染图像的装置,用于对图像进行渲染, 包括
深度图计算模块501,用于在待处理图像的左视图和右视图中任选一个作为 第一视图,另一个作为第二视图,对第一视图进行求深度图计算,得到与第一 视图相对应的深度其中,计算深度图的算法是多种,本实施例中不做具体限定。
渲染模块502,用于根据第一视图和深度图计算模块501得到的深度图进行 渲染,得到中间^L其中,渲染的方法可以是多种,本实施例中不做具体限定。
第一填补模块503,用于根据预设的阀值,填补渲染模块502得到的中间视 图中面积小于所述阀值的空洞;
计算模块504,用于根据中间视图和第二视图从第二视图中寻找与中间视图 中面积大于所述阀值的空洞相似度最高的像素块;
第二填补模块505,用于将计算模块504得到的像素块复制并填补到空洞中。
具体地,计算模块504包括
比较像素块选取单元5041,用于在中间视图中,根据空洞的位置,沿空洞 的相应边缘,在空洞范围之外,取预设个数的像素,组成比较像素块;
寻找区域选取单元5042,用于在所述中间视图中,以所述比较像素块为起 始块,在所述空洞范围之外,选取一个包含所述起始块的比较区域,在所述第 二视图中选取与所述比较区域相对应的区域作为寻找区域;
相似度计算单元5043,用于在寻找区域中沿远离空洞的方向,每平移一个 像素选取一个与比较像素块形状、面积均相同的像素块,将比较像素块中的每 个像素与该像素块中和像素位置相对应的像素相减,并分別对得到的每个差值进行平方运算,将所得的平方值全部相加,得到与该-隊素块对应的和值;
比较单元5044,用于比较每个像素块对应的和值,选出和值最小的像素块; 选取单元5045,用于根据空洞在中间视图上的位置,对和值最小的像素块
的每一行,以该像素块相应边缘上的该行的像素为起始,取与空洞中所对应的
行中同等数量的像素,将由这些像素组成的没有空洞的像素块作为与空洞相似
度最高的像素块。
在本实施例中,第一视图可以为左视图,第二视图可以为右视图,比较像 素块选取单元5041具体包括
第一比较像素块选取子单元5041a,用于若中间视图中的空洞与中间视图的 右边缘有重合部分,在空洞左边的区域中选取比较像素块;若中间视图中的空 洞与中间视图的右边缘没有重合部分,在空洞右边的区域中选取比较像素块;
相应地,选取单元5045具体包括
第一选取子单元5045a,用于若中间视图中的空洞与中间视图的右边缘有重 合部分,对和值最小的像素块的每一行,以该像素块右边缘上的该行的像素为 起始,在水平方向上按照从左至右的顺序,取与空洞中所对应的行中同等数量 的像素,将由这些像素组成的没有空洞的像素块作为与空洞相似度最高的像素 块;若中间视图中的空洞与中间视图的右边缘没有重合部分,对和值最小的像 素块的每一行,以该像素块左边缘上的该行的像素为起始,在水平方向上按照 从右至左的顺序,取与空洞中所对应的行中同等数量的像素,将由这些像素组 成的没有空洞的像素块作为与空洞相似度最高的像素块。
另外,还可以第一视图为右视图,第二视图为左碎见图,比较像素块选取单 元5041具体包括
第二比较像素块选取子单元5041b,用于若中间^L图中的空洞与中间视图的 左边缘有重合部分,在空洞右边的区域中选取比较像素块;若中间视图中的空 洞与中间视图的左边缘没有重合部分,在空洞左边的区域中选取比较像素块;
相应地,选取单元5045具体包括第二选取子单元5045b,用于若中间视图中的空洞与中间视图的左边缘有重 合部分,对和值最小的像素块的每一行,以该像素块左边缘上的该行的像素为 起始,在水平方向上按照从右至左的顺序,取与空洞中所对应的行中同等数量 的像素,将由这些像素组成的没有空洞的像素块作为与空洞相似度最高的像素 块;若中间视图中的空洞与中间视图的左边缘没有重合部分,对和值最小的像 素块的每一行,以该像素块右边缘上的该行的像素为起始,在水平方向上按照 从左至右的顺序,取与空洞中所对应的行中同等数量的像素,将由这些像素组 成的没有空洞的像素块作为与空洞相似度最高的像素块。
通过利用左右视图和一张深度图进行图像渲染,在渲染过程中对产生的大 小空洞分别进行处理,先处理较小的空洞,再利用寻找相似度最高的像素块的 方法对大空洞进行处理,不仅简化了现有渲染算法的复杂性,加快了渲染的速 度,而且大大增强了空洞的填补效果。
本发明实施例提供的上述技术方案的全部或部分可以通过程序指令相关的 硬件来完成,所述程序可以存储在可读取的存储介质中,该存储介质包括R0M、 RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的 精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的 保护范围之内。
权利要求
1.一种渲染图像的方法,其特征在于,所述方法包括在待处理图像的左视图和右视图中任选一个作为第一视图,另一个作为第二视图,对所述第一视图进行求深度图计算,得到与所述第一视图相对应的深度图;根据所述第一视图和所述深度图进行渲染,得到中间视图;根据预设阀值,填补所述中间视图中面积小于所述阀值的空洞;根据所述中间视图和所述第二视图,从所述第二视图中寻找与所述中间视图中面积大于所述阀值的空洞相似度最高的像素块;将所述像素块复制并填补到所述空洞中。
2. 根据权利要求1所述的方法,其特征在于,根据所述中间视图和所述第 二视图,从所述第二视图中寻找与所述中间视图中面积大于所述阀值的空洞相 似度最高的像素块,具体包括在所述中间-视图中,4艮据所述空洞的位置,沿所述空洞的相应边缘,在所 述空洞范围之外,取预设个数的像素,组成比较像素块;在所述中间视图中,以所述比较像素块为起始块,在所述空洞范围之外, 选取一个包含所述起始块的比较区域,在所述第二视图中选取与所述比较区域 相对应的区域作为寻找区域;在所述寻找区域中沿远离所述空洞的方向,每平移一个像素选取一个与所 述比较像素块形状、面积均相同的像素块,对于每个选出的像素块,将所述比 较像素块中的每个像素与所述像素块中和所述像素位置相对应的像素相减,并 分别对得到的每个差值进行平方运算,将所得的平方值全部相加,得到与所述 像素块对应的和值;比较每个像素块对应的和值,选出和值最小的像素块;根据所述空洞在所述中间视图上的位置,对所述和值最小的像素块的每一 行,以所述像素块相应边缘上的该行的像素为起始,取与所述空洞中所对应的 行中同等数量的像素,将由所迷像素组成的没有空洞的像素块作为与所述空洞 相似度最高的像素块。
3.根据权利要求2所述的方法,其特征在于,所述第一视图为左视图,所 述第二视图为右视图,在所述中间视图中,根据所述空洞的位置,沿所述空洞 的相应边缘,在所述空洞范围之外,取预设个数的像素,组成比较像素块,具体包括若所述中间视图中的空洞与所述中间视图的右边缘有重合部分,在所述空 洞左边的区域中选取所述比较像素块;若所述中间视图中的空洞与所述中间视图的右边缘没有重合部分,在所述 空洞右边的区域中选取所述比较像素块;根据所述空洞在中间视图上的位置,对所述和值最小的像素块的每一行, 以所述像素块相应边缘上的该行的像素为起始,取与所述空洞中所对应的行中 同等数量的像素,将由所述像素组成的没有空洞的像素块作为与所述空洞相似 度最高的像素块,具体包括若所述中间视图中的空洞与所述中间视图的右边缘有重合部分,对和值最 小的像素块的每一行,以所述像素块右边缘上的该行的像素为起始,在水平方 向上按照从左至右的顺序,取与所述空洞中所对应的行中同等数量的像素,将 由所述像素组成的没有空洞的像素块作为与所述空洞相似度最高的像素块;若所述中间视图中的空洞与所述中间视图的右边缘没有重合部分,对和值 最小的像素块的每一行,以所述像素块左边缘上的该行的像素为起始,在水平 方向上按照从右至左的顺序,取与所述空洞中所对应的行中同等数量的像素, 将由所述像素组成的没有空洞的像素块作为与所述空洞相似度最高的像素块。
4. 根据权利要求2所述的方法,其特征在于,所述第一视图为右^L图,所 述第二视图为左视图,在所述中间视图中,根据所述空洞的位置,沿所述空洞 的相应边缘,在所述空洞范围之外,取预设个数的像素,组成比较像素块,具 体包括若所述中间视图中的空洞与所述中间视图的左边缘有重合部分,在所迷空 洞右边的区域中选取所述比较像素块;若所述中间视图中的空洞与所述中间视图的左边缘没有重合部分,在所述 空洞左边的区域中选取所述比像素块;根据所述空洞在中间视图上的位置,对所述和值最小的像素块的每一行, 以所述像素块相应边缘上的该行的像素为起始,取与所述空洞中所对应的行中 同等数量的像素,将由所述像素组成的没有空洞的像素块作为与所述空洞相似 度最高的像素块,具体包括若所述中间视图中的空洞与所述中间视图的左边缘有重合部分,对和值最 小的像素块的每一行,以所述像素块左边缘上的该行的像素为起始,在水平方 向上按照从右至左的顺序,取与所述空洞中所对应的行中同等数量的像素,将 由所述像素组成的没有空洞的像素块作为与所述空洞相似度最高的像素块;若所述中间视图中的空洞与所述中间视图的左边缘没有重合部分,对和值 最小的像素块的每一行,以所述像素块右边缘上的该行的像素为起始,在水平 方向上按照从左至右的顺序,取与所述空洞中所对应的行中同等数量的像素, 将由所述像素组成的没有空洞的像素块作为与所述空洞相似度最高的像素块。
5. —种渲染图像的装置,其特征在于,所述装置包括深度图计算模块,用于在待处理图像的左视图和右视图中任选一个作为第 一视图,另一个作为第二视图,对所述第一视图进行求深度图计算,得到与所 述第一^L图相对应的深度图;渲染模块,用于根据所述第一视图和所述深度图计算模块得到的深度图进行渲染,得到中间视图;第一填补模块,用于根据预设的阀值,填补所述渲染模块得到的中间视图 中面积小于所述阀值的空洞;计算模块,由于根据所述中间视图和所述第二视图,从所述第二视图中寻找与所述中间视图中面积大于所述阀值的空洞相似度最高的像素块; 第二填补模块,用于将所述像素块复制并填补到所述空洞中。
6. 如权利要求5所述的装置,其特征在于,所述计算模块具体包括 比较像素块选取单元,用于在所述中间视图中,根据所述空洞的位置,沿所述空洞的相应边缘,在所述空洞范围之外,取预设个数的像素,组成比较像 素块;寻找区域选取单元,用于在所述中间视图中,以所述比较像素块为起始块, 在所述空洞范围之外,选取一个包含所述起始块的比较区域,在所述第二视图 中选取与所述比较区域相对应的区域作为寻找区域;相似度计算单元,用于在所述寻找区域中沿远离所述空洞的方向,每平移 一个像素选取一个与所述比较像素块形状、面积均相同的像素块,将所述比较 像素块中的每个像素与所述像素块中和所述像素位置相对应的像素相减,并分 别对得到的每个差值进行平方运算,将所得的平方值全部相加,得到与所述像 素块对应的和值;比较单元,用于比较每个像素块对应的和值,选出和值最小的像素块; 选取单元,用于根据所述空洞在中间视图上的位置,对所述和值最小的像 素块的每一行,以所述像素块相应边缘上的该行的像素为起始,取与所述空洞 中所对应的行中同等数量的像素,将由所述像素组成的没有空洞的像素块作为 与所述空洞相似度最高的像素块。
7. 如权利要求6所述的装置,其特征在于,所述第一视图为左视图,所述第二视图为右^L图,所述比较像素块选取单元具体包括第一比较像素块选取子单元,用于若所述中间-脱图中的空洞与所述中间祸L 图的右边缘有重合部分,在所述空洞左边的区域中选取所述比较像素块;若所 述中间视图中的空洞与所述中间视图的右边缘没有重合部分,在所述空洞右边 的区域中选取所述比较像素块;所述第一视图为左视图,所述第二视图为右视图,所述选取单元具体包括 第 一选取子单元,用于若所述中间视图中的空洞与所述中间视图的右边缘 有重合部分,对和值最小的像素块的每一行,以所述#^素块右边缘上的该行的 像素为起始,在水平方向上按照从左至右的顺序,取与所述空洞中所对应的行 中同等数量的像素,将由所述像素组成的没有空洞的像素块作为与所述空洞相 似度最高的像素块;若所述中间视图中的空洞与所述中间视图的右边缘没有重 合部分,对和值最小的像素块的每一行,以所述像素块左边缘上的该行的像素 为起始,在水平方向上按照从右至左的顺序,取与所述空洞中所对应的行中同 等数量的像素,将由所述像素组成的没有空洞的像素块作为与所述空洞相似度 最高的像素块。
8.如权利要求6所述的装置,其特征在于,所迷第一视图为右视图,所述 第二视图为左视图,所述比4交^象素块选取单元具体包括第二比较像素块选取子单元,用于若所述中间^见图中的空洞与所述中间4见 图的左边缘有重合部分,在所述空洞右边的区域中选取所述比较像素块;若所 述中间视图中的空洞与所述中间视图的左边缘没有重合部分,在所述空洞左边 的区域中选取所述比较像素块;所述第一视图为右视图,所述第二视图为左视图,所述选取单元具体包括第二选取子单元,用于若所述中间视图中的空洞与所述中间视图的左边缘 有重合部分,对和值最小的像素块的每一行,以所述像素块左边缘上的该行的 像素为起始,在水平方向上按照从右至左的顺序,取与所述空洞中所对应的行中同等数量的像素,将由所述像素组成的没有空洞的^f象素块作为与所述空洞相似度最高的像素块;若所述中间视图中的空洞与所述中间视图的左边缘没有重合部分,对和值最小的像素块的每一行,以所述像素块右边缘上的该行的像素 为起始,在水平方向上4姿照从左至右的顺序,耳又与所述空洞中所对应的行中同 等数量的像素,将由所述像素组成的没有空洞的像素块作为与所述空洞相似度 最高的像素块。
全文摘要
本发明公开了一种渲染图像的方法和装置,属于图像处理领域。所述方法包括在待处理图像的左视图和右视图中任选一个作为第一视图,另一个作为第二视图,对第一视图进行求深度图计算,得到与第一视图相对应的深度图;根据第一视图和深度图进行渲染,得到中间视图;根据预设阀值,填补中间视图中面积小于阀值的空洞;根据中间视图和第二视图,从第二视图中寻找与中间视图中面积大于阀值的空洞相似度最高的像素块;将像素块复制并填补到空洞中。所述模块包括深度图计算模块、渲染模块、第一填补模块、计算模块和第二填补模块。本发明不仅简化了现有渲染算法的复杂性,加快了渲染的速度,而且大大增强了空洞的填补效果。
文档编号G06T15/00GK101610423SQ200910088300
公开日2009年12月23日 申请日期2009年7月13日 优先权日2009年7月13日
发明者吴华娟, 戴琼海, 汛 曹 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1