// 定义感兴趣区域.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<opencv2/opencv.hpp>
#include<opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{
// 【1】读入图像
Mat img = imread("2.jpg");
imwrite("E:/pic灰度.jpg", img);//转换成灰度图
Mat srcImage1 = imread("dota_pa.jpg");
Mat logoImage = imread("E:/pic灰度.jpg");
if (!srcImage1.data) { printf("读取srcImage1错误~! \n"); return false; }
if (!logoImage.data) { printf("读取logoImage错误~! \n"); return false; }
// 【2】定义一个Mat类型并给其设定ROI区域
Mat imageROI = srcImage1(Rect(0, 0, logoImage.cols, logoImage.rows));
// 【3】加载掩模(必须是灰度图)
Mat mask = imread("E:/pic灰度.jpg", 0);
//【4】将掩膜拷贝到ROI
logoImage.copyTo(imageROI, mask);
// 【5】显示结果
namedWindow("<1>利用ROI实现图像叠加示例窗口");
imshow("<1>利用ROI实现图像叠加示例窗口", srcImage1);
waitKey();
return 0;
}
//
#include "stdafx.h"
#include<opencv2/opencv.hpp>
#include<opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{
// 【1】读入图像
Mat img = imread("2.jpg");
imwrite("E:/pic灰度.jpg", img);//转换成灰度图
Mat srcImage1 = imread("dota_pa.jpg");
Mat logoImage = imread("E:/pic灰度.jpg");
if (!srcImage1.data) { printf("读取srcImage1错误~! \n"); return false; }
if (!logoImage.data) { printf("读取logoImage错误~! \n"); return false; }
// 【2】定义一个Mat类型并给其设定ROI区域
Mat imageROI = srcImage1(Rect(0, 0, logoImage.cols, logoImage.rows));
// 【3】加载掩模(必须是灰度图)
Mat mask = imread("E:/pic灰度.jpg", 0);
//【4】将掩膜拷贝到ROI
logoImage.copyTo(imageROI, mask);
// 【5】显示结果
namedWindow("<1>利用ROI实现图像叠加示例窗口");
imshow("<1>利用ROI实现图像叠加示例窗口", srcImage1);
waitKey();
return 0;
}