OpenCV圖像處理——copyTo與mask(掩碼)操作

概述

Mat矩陣類的成員函數中copyTo()函數有兩種原型,第一種是:image.copyTo(imageROI),作用是把image的內容複製粘貼到imageROI上;第二用法是:image.copyTo(imageROI,mask)。 作用是把mask和image重疊以後把mask中像素值爲0的點對應的image中的同位置點變爲0,而不爲0的點保持不變。
第二種辦法最常用的一個場景是不規則ROI提取。

不規則ROI提取

1.代碼

#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>

using namespace std;
using namespace cv;

int main()
{
	//原圖像
	Mat src = imread("src.jpg");
	//用語義分割得到的mask圖像
	Mat mask = imread("mask.jpg");
	//效果圖像
	Mat dst;

	src.copyTo(dst, mask);

	namedWindow("ROI", 0);
	imshow("ROI", dst);

	waitKey(0);
	return 0;
}

原圖:
在這裏插入圖片描述

Mask圖像:
在這裏插入圖片描述
效果圖:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章