C++ Opencv-不带cvAddWeighted的覆盖图像
有大量教程介绍如何在opencv中混合两个图像:C++ Opencv-不带cvAddWeighted的覆盖图像,c++,image,opencv,C++,Image,Opencv,有大量教程介绍如何在opencv中混合两个图像: 但所有这些都是基于这个等式: 这意味着我将通过平均两幅图像来组合两幅图像,因此我将在两幅图像上降低强度 例如,设alpha=0.5,f0(x)=255,f1(x)=0。应用该方程后,结果图像g(x)=127。这不是我需要的。第一个图像应该保持不变。而透明度必须应用于第二种情况 我的问题是: 当第一图像f0(x)覆盖第一图像f0(x)时,不应改变第一图像f0(x),并且应将alpha应用于第二图像f1(x) 我不知道怎么做。有什么帮助吗?
我不知道怎么做。有什么帮助吗?不幸的是,OpenCV不支持alpha通道。从
imread
文档:请注意,在当前实现中,alpha通道(如果有)从输出图像中剥离。例如,如果
标志>0
有关使用imagemagick的可能解决方法,请参阅SO post
希望这是有帮助的 谢谢@mevatron为我指点ImageMagick。答案如下:复合-溶解50%meme1.png meme2.png result.png。在C++中使用MAGICK ++也可以。每个登陆这个帖子的人都应该阅读。