OpenCV之感兴趣区域ROI

这玩意儿在之前遇到过,但是只是简单了解下,现在遇到正版概念了。

ROI

定义方法一

定义方法二

例程

#include <iostream>
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/videoio.hpp>
#include <opencv2/video.hpp>

using namespace cv;
using namespace std;

int main(int argc, char** argv)
{
	//1.读入图像
	Mat srcImage = imread("erha.jpg");
	Mat logoImage = imread("logo.png");
	if (!srcImage.data) {
		cout << "srcImage  error" << endl;
		return -1;
	}
	if (!logoImage.data) {
		cout << "logoImage  error" << endl;
		return -1;
	}
	//2.定义一个Mat类型并给其设定ROI区域
	Mat imageRoi = srcImage(Rect(200, 250, logoImage.cols, logoImage.rows));

	//3.加载掩膜,必须是灰度图
	Mat mask = imread("logo.png", 0);

	//4.将掩膜赋值到ROI
	logoImage.copyTo(imageRoi, mask);

	//5.显示结果
	namedWindow("利用ROI实现图像叠加示例窗口");
	imshow("利用ROI实现图像叠加示例窗口", srcImage);
	waitKey(0);
	return 0;
}

效果

PS:好多东西现在可能不明白,但是后面都会慢慢揭晓了。

猜你喜欢

转载自blog.csdn.net/sono_io/article/details/124357137