Mask即为掩膜,即为一个元素为0或1的矩阵。
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
#include <stdio.h>
using namespace std;
using namespace cv;
int main()
{
Mat image, mask;
Rect r1(100, 100, 250, 300);
Mat img1, img2, img3, img4;
image = imread("1.jpg");
mask = Mat::zeros(image.size(), CV_8UC1);
mask(r1).setTo(255);
img1 = image(r1);
image.copyTo(img2, mask);
image.copyTo(img3);
img3.setTo(0, mask);
imshow("Image sequence", image);
imshow("img1", img1);
imshow("img2", img2);
imshow("img3", img3);
imshow("mask", mask);
waitKey();
return 0;
}
Rect即为感兴趣区域,mask即为所确定的掩膜区域;
src.setTo(0)表示将整个src矩阵元素都设为0;
img1显示为image的感兴趣区域;
img2显示为image与mask进行与运算后的图像;
img3显示为image在感兴趣区域为0的图像;
具体图像需要读程序后实现。