方法一:
Mat Image=imread("D:\\cab.png");
imshow("srcImage",Image);
Mat roi1,roi2,Mask;
//初始化0
roi1=Mat::zeros(Image.size(),CV_8UC1);
roi2=Mat::zeros(Image.size(),CV_8UC1);
Mask=Mat::zeros(Image.size(),CV_8UC1);
//thickness:-1表示填充
circle(roi1,Point(278,240),81,CV_RGB(255,255,255),-1);
circle(roi2,Point(278,240),50,CV_RGB(255,255,255),-1);
//得到圆环区域
subtract(roi1,roi2,Mask);
//Mask区域抠图
Mat maskImage;
bitwise_and(Image,Image,maskImage,Mask);
imshow("MaskImage",maskImage);
方法二:
Mat Image=imread("D:\\cab.png");
imshow("srcImage",Image);
Mat roi1,roi2,Mask;
//初始化0
roi1=Mat::zeros(Image.size(),CV_8UC1);
roi2=Mat::zeros(Image.size(),CV_8UC1);
Mask=Mat::zeros(Image.size(),CV_8UC1);
//thickness:-1表示填充
circle(roi1,Point(278,240),81,CV_RGB(255,255,255),-1);
circle(roi2,Point(278,240),50,CV_RGB(255,255,255),-1);
//得到圆环区域
subtract(roi1,roi2,Mask);
//Mask区域抠图
Mat maskImage;
Image.copyTo(maskImage,Mask);
imshow("MaskImage",maskImage);