OPENcv中把一个图片融合到另一个图像中为啥程序正确不显示图片

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OPENcv中把一个图片融合到另一个图像中为啥程序正确不显示图片相关的知识,希望对你有一定的参考价值。

请注意cvShowImage()函数和cvReleaseImage()函数,cvShowImage()之后应该有暂停或者等待操作的语句,不然直接就到了cvReleaseImage()函数,图像被释放了,当然看不到显示的图片了!最好在cvShowImage()之后添加cvWaitKey(0)追问

我是照着书上敲的代码,图片是我自己随便截的图,是图片的问题吗?
哥,可以加你下qq吗?我这刚学,什么也不会,比较白目,想多请教下。qq是492253630,谢了!

追答

这么跟你说吧!书上的代码是有一定的环境的,譬如说我的是VS2010+OpenCV2.1,你的所使用的版本和书上的版本号不同,当然是有一定的差别的,还有就是在视频处理,摄像头调用,这个是电脑自身的驱动,编解码器问题,这就导致了为什么照着书上的代码还会有错误。不过没关系,建议你刚学的时候慢慢来,买本《学习OpenCV》看看,图像处理这一块是一个庞大而复杂的地方!祝你好运!

参考技术A 是基于像素融合吗?看看是不是图像的数据类型的问题,因为数据类型不对,也可能不会正常显示

OpenCV 图像融合

【中文标题】OpenCV 图像融合【英文标题】:OpenCV image blending 【发布时间】:2014-04-18 09:15:42 【问题描述】:

我使用 OpenCV 做 faceswap 应用程序,假设我在图片中找到了 2 个面孔,然后我用椭圆裁剪了面孔矩形。我的问题是这两张脸的肤色不同,所以如果我只是简单地交换椭圆的坐标,结果看起来不太好。所以我在想至少要根据原来的脸来调整脸的颜色。

我相信使用 OpenCV 库可以实现,但我只是不知道我应该寻找的方法的名称。此外,该方法足够快也很重要,因为我正在为 Android 开发此应用程序。

【问题讨论】:

也许你可以使用这些答案:***.com/questions/22315904/… 【参考方案1】:

我认为EM recoloring 应该是一个很好的起点。也可以看看poisson blending。

【讨论】:

感谢您的建议,这些方法似乎完全符合我的要求。但另一方面,是否有任何其他方法不会产生如此好的结果,但它们会更快?在最坏的情况下,我想如果它们不够快,我会跳过这些混合技术,我会根据颜色直方图的相似性交换面部。在那种情况下,是否有任何 OpenCV 函数来比较直方图的相似性? :] 感谢您的回复 您可以使用 compareHist 方法测量 hist 相似性。见docs.opencv.org/doc/tutorials/imgproc/histograms/…

以上是关于OPENcv中把一个图片融合到另一个图像中为啥程序正确不显示图片的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV 图像融合

OpenCV图像无缝融合-seamlessClone介绍与使用(附Python/C++源码)

OpenCV高手勿入! 半小时学会基本操作 图像裁剪融合

Opencv图像基本操作——读取显示截取图像属性颜色通道边界填充图像融合

opencv学习—图像融合之背景替换

opencv中如何让白色的区域变成透明背景,然后和别的图片融合???