crimini算法
代码说明:
应用背景criminisi的详细算法,一看就懂!! 目前,图像修复中占主流的修复模型有:偏微分方程的修复模型[1-2]、纹理合成[3]的修复模型。前者计算量大、耗时长、对纹理的还原能力有限,处理大区域图像会有明显的模糊现象,因此只适合于划痕、污迹和文字等细窄的区域修复。相比之下,后者将待修复区域周围的图像作为样本,从中提取特征并选取匹配的纹理,将其合成到待修复区域内,适用于较大区域的修复。 现实中的图像不是由简单结构和单一纹理拼接而成的,而是同时包含复杂的结构和多种纹理特征。参考文献[4]将图像分割为结构和纹理两部分,然后分别用偏微分方法和纹理合成技术进行处理,最后将两种处理结果进行融合。但对实际图像而言,该方法修复区域较小,速度较慢,对较大区域修复仍然有一定的模糊。Criminisi等人在2003年提出了一种不用分割图像,同步处理纹理和结构的基于样例的图像修复算法[5]。他们的算法取得了满意的效果,但是耗费的时间过长,另外优先权和相似度的计算还存在一定不足。本文改进了参考文献[5]的图像修补算法。为了使优先权计算更加准确,本文采用梯度数据项和置信度共同决定填充顺序;为加快修复速度,本文采用局部窗口搜索的策略;最后利用颜色和梯度共同决定相似性,使得修复后的图像具有更好的视觉效果。大量实验结果表明,该算法提高了修复效率,同时产生了更满意的视觉效果。 关键技术 基于样例的图像修复算法,为了兼顾结构和纹理部分的修复效果,填充顺序是这类方法的关键。填充顺序的优先权函数大小要考虑两方面的因素:一方面是模板窗口中已知信息量的多少,另一方面要考虑待修复区域周围的结构特征。因为已知信息多的待填充块的周围可以利用的信息大,结构特征明显的区域包含了丰富的结构信息。Criminisi定义的优先权函数为:P(p)=C(p)×D(p)。当等照度线与单位法向量垂直时,D(p)=0,这时即使C(p)很大,甚至整个块中只有几个未知像素,块也得不到及时填充。这样优先权的计算就变得不可靠,导致错误的填充顺序,进而影响修复的效果。为了解决这个问题,本文直接引入梯度信息来计算块的优先权。P为修复边界dΩ上的点,ψp是以点
下载说明:请别用迅雷下载,失败请重下,重下不扣分!