根据下面的思路,可以用hsv提取所需要的区域放到放到Mask中进行抠图。
#include<iostream>
#include<opencv2/opencv.hpp>
#include<opencv2/highgui.hpp>
using namespace std;
using namespace cv;
int main()
{
Mat src=imread("/home/sms/tu/1.jpg"),src1;
Rect r=Rect(150,150,150,150);
Mat mask(src.size(),CV_8UC3,Scalar(0,0,0));
rectangle(mask,r,Scalar(255,255,255),-1);
bitwise_and(src,mask,src1);
imshow("src",src);
imshow("mask",mask);
imshow("src1",src1);
waitKey(0);
}