opencv 图片融合

来源:互联网 发布:使命召唤重制版优化 编辑:程序博客网 时间:2024/05/01 12:16
#include<opencv2/opencv.hpp>
#include<cv.h>
using namespace cv;


int main() {
Mat mainimg = imread("D://图片//2.jpg");    //融合的底图片
Mat img = imread("D://图片//4.jpg");       //需要融合到目标图的图片


Mat imgroi;
Rect rect(100, 100, img.cols, img.rows);          //设置区域,使其区域与需要叠加的图片的大小相同,前两个是叠加的起点坐标
imgroi = mainimg(rect);               //公用一个内存
addWeighted(imgroi, 1, img, 0.5, 0, imgroi);      //融合,其中三个图片大小通道深度都要相同,1,0.5分别表示各自前面图片的权重,最后一个是最后结果


namedWindow("show");
imshow("show", mainimg);      //显示


waitKey(0);
destroyAllWindows;


return 0;

}

运行结果:



图片的形状是可以通过mask改变的,之后再使用

0 0