2014-04-18 76 views
2

我使用OpenCV的做faceswap应用程序,比方说我已经找到2面的图片,然后我冒出脸矩形与椭圆。我的问题是,这两种面孔有不同的肤色,所以如果我只是单纯地交换椭圆的坐标,结果看起来并不那么好。所以我至少在考虑根据原始脸部调整脸部的颜色。OpenCV的图像混合

我相信这是可能实现与OpenCV库,但我只是不知道方法我应该寻找的名称。此方法速度也很重要,因为我正在为Android开发此应用程序。

+0

也许你可以使用这些答案: http://stackoverflow.com/questions/22315904/blending-does-not-remove-seams-in-opencv/ – Micka

回答

8

我觉得EM recoloring应该是一个很好的起点。也看看poisson blending

+0

感谢您的建议,这些方法似乎做正是我所期待的。但在另一方面不存在,对于例如不会产生这么大的结果的任何其他方法,但是他们会更快? 在最坏的情况下,我想我会跳过这些混合技术,如果它们速度不够快,我会根据颜色直方图的相似性来换脸。在那种情况下,是否有任何OpenCV函数来比较直方图的相似性? :]感谢 – skornos

+1

可以使用compareHist方法测量HIST相似的响应。参见http://docs.opencv.org/doc/tutorials/imgproc/histograms/histogram_comparison/histogram_comparison.html –