
两个图像的融合就是像素的融合了,其实手动操作即可,用函数操作更方便了。
下面代码的作用是融合阿狸和doctor,很和谐有木有!
#include <cv.h>
#include <highgui.h> int main(int argc,char **argv)
{ IplImage *src1 = cvLoadImage(argv[1],1);
IplImage *src2 = cvLoadImage(argv[2],1); cvNamedWindow("image output"); cvSetImageROI(src1,cvRect(70,70,81,108));
//cvSetImageROI(src2,cvRect(0,0,81,108)); cvAddWeighted(src1, 1, src2, 1, -256, src1); cvResetImageROI(src1);
cvShowImage("image output", src1); cvWaitKey(); cvReleaseImage(&src1);
cvReleaseImage(&src2);
cvDestroyWindow("image output"); return 0;
}
核心函数是cvAddWeighted,这里是1+1的融合,-256应该是融合后的亮度增益吧,我调到最小了。如果这个不调的话阿狸会有白色区域的,不太好看。
阿狸素材: