关于线性混合,Opencv官方文档说的要两张相同尺寸的图片,这个条件太苛刻了,所以我这里通过改变其中一张图片大小使其和另外一张图片尺寸相同,先给出两张漂亮的图片:
a.jpg
b.jpg
然后代码就是实现两张图片的叠加效果,是不是很期待啊,哈哈哈!!
#include <cv.h>
#include <highgui.h>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
double alpha = 0.5; double beta; double input;
Mat img_src1,img_src2,src2, dst;
cout<<" Simple Linear Blender "<<std::endl;
cout<<"-----------------------"<<std::endl;
cout<<"* Enter alpha [0-1]: ";
cin>>input;
if(alpha >=0 && alpha<1 )
{
alpha = input;
}
img_src1 = imread("D:\\visiopj\\线性混合\\a.jpg");
src2 = imread("D:\\visiopj\\线性混合\\b.jpg");
//改变图像2的大小,并且使其与图像1相同
resize(src2,img_src2,Size(500,311));
//cout<<img_src2.size().width<<e