opencv实现两幅图片的加权融合

opencv实现两幅图片的加权融合:

程序:

int _tmain(int argc, _TCHAR* argv[])
{

	IplImage *src1, *src2;
	src1 = cvLoadImage("E:\\butterfly_GT.bmp",-1);
	src2 = cvLoadImage("E:\\bird_GT.bmp", -1);
	//cvShowImage("Alphablend", src1);
	//cvShowImage("Alphablend4", src2);
	//cvWaitKey(0);
	if (((src1 = cvLoadImage("E:\\butterfly_GT.bmp", 1)) != 0
		) && ((src2 = cvLoadImage("E:\\bird_GT.bmp", 1)) != 0))
	{
		//int x = atoi(argv[3]);//把字符串转换成整型数。
		int x = 90;
		int y = 90;
		int width = 100;
		int height = 100;
		double alpha = 0.1;//加权融合占得比列
		double beta = 1;
		cvSetImageROI(src1, cvRect(x, y, width, height));
		cvSetImageROI(src2, cvRect(100,30, width, height));
		cvAddWeighted(src1, alpha, src2, beta, 0.0, src1);
		cvResetImageROI(src1);
		cvNamedWindow("Alpha_blend", 1);
		cvShowImage("Alpha_blend", src1);
		cvWaitKey();
	}
	else
		printf("Couldn't load one ");
	 
	system("pause");
	return 0;

}

结果:

opencv实现两幅图片的加权融合_第1张图片


你可能感兴趣的:(OpenCV)