图片提取感兴趣区域ROI
方法有很多最常用的和最方便的是通过截取方式
格式一:Img_ROI =img( rect(x,y,width,height));
格式二:Img_ROI =img( range(行1,行2),range(列1,列2));
想要获取不同形状可以把rect换成其他的形状
重点:Mat类似的区块访问
只创建了新的数组头,分配它的指针data,但并不是类似clone()和copyTo()那样创建了不相互关的数组,Mat类似的区块访问截取的数组,类似赋值运算,改变都改变
imshow("kmeans",img);
Mat mysrc = imread("C:\\Users\\tudejiang\\Desktop\\1.jpg");
Mat range_img = mysrc(Rect(100, 100, 300, 300));
imshow("range_img", range_img);
range_img = range_img + 100;
imshow("mysrc", mysrc);
重点来了:
opencv中自带了选择感兴趣区域的函数:
//选择单个矩形
Rect r = selectROI("Image", image, false);
//寻找多个矩形
vector<Rect> rects;
selectROIs("Image", image, rects, false,false);