Opencv step by step - 图像融合



两个图像的融合就是像素的融合了,其实手动操作即可,用函数操作更方便了。



下面代码的作用是融合阿狸和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应该是融合后的亮度增益吧,我调到最小了。如果这个不调的话阿狸会有白色区域的,不太好看。



阿狸素材:




posted @ 2014-11-02 15:33  crazy_thb  阅读(316)  评论(0编辑  收藏  举报