opencv中感興趣區域以及mask的使用
Mat image,mask;
Rect r1(100,100,50,100);
Mat img1,img2,img3,img4;
for(;;)
{
sequence >> image;
mask = Mat::zeros(image.size(),CV_8UC1);//zero為與image相同大小的全0影象
mask(r1).setTo(255); //把mask影象的r1區域設為255,即r1大小的白色塊
img1 = image(r1); //把image中的r1區域取出儲存到img1中
image.copyTo(img2,mask);//把image與mask合併儲存到img2中,即image與mask的非0區域合併
image.copyTo(img3);
img3.setTo(0,mask);//相當於把image中的與mask的非0區域相同的區域置0,即只有r1區域被置0
imshow("Image sequence", image);
imshow("img1",img1);
imshow("img2",img2);
imshow("img3",img3);
imshow("mask",mask);
waitKey(0);
}