根据下面的思路,可以用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);
}

在这里插入图片描述

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐