图像无缝融合研究(一)Poisson Image Editing

15年实习的时候研究了一下无缝融合方面的,主要是看了一下Poisson Image Editing,发现这篇文章真的是融合方面的大牛啊!现在又因为工作问题重新回来看融合方面的东西,发现之前看的很多都不记得了,所以写这篇博客便于日后可以方便回顾。

图像融合效果十分强大,原文中给出的融合示意图:


可以看出被贴入的熊和孩子不仅边缘与背景融合的十分自然并且色调也相应做了调整因此看上去与背景十分融洽。

很多人在研究泊松算法,其原理有些晦涩难懂,用到了很多的数学及物理方面的知识,如散度、梯度场、拉普拉斯算子、欧拉-拉格朗日方程等。对于算法原理的详解可以参考白马负金羁”的博客:http://blog.csdn.net/baimafujinji/article/details/46763097 算法原理详解(一)(二)(三),以及他写的MATLAB程序解析:http://blog.csdn.net/baimafujinji/article/details/50603686,不过里面有一个主要的函数没有给出,哈哈。

该博主已经将算法原理写的十分详细,但对于数学不好的人(比如我)仍然觉得有些难懂,这里可以参考hjimce师兄的博客http://blog.csdn.net/hjimce/article/details/45716603,该博客解析非常通俗易懂,并且对opencv源码进行了详细的分析。


对于opencv源码可以参考下载下来的opencv 3.10版(我下的这个版本的)D:\opencv310\opencv\sources\modules\photo\src路径下面有seamless_cloning.cpp、seamless_cloning.hpp、seamless_cloning_impl.cpp文件,详细的算法过程可以研究这几个文件。

测试效果运行程序里面也有,在路径D:\opencv310\opencv\sources\samples\cpp\tutorial_code\photo\seamless_cloning下面有cloning_demo.cpp。给出的原文的算法调用可以直接运行,实现原文中的各种功能。

该算法的强大之处在于其不仅用于做图像无缝融合还具有纹理平滑(Texture Flattening)、局部亮度调整(Local illumination changes)、局部颜色变化(Local color changes)。原文中的示例图:




暂时先写这么多,可能后期会有修改。。。


猜你喜欢

转载自blog.csdn.net/jjdbear/article/details/54909970
0条评论
添加一条新回复