如何创建旋转的矩形或多边形ROI /蒙版?

时间:2015-06-14 10:18:35

标签: c++ opencv mask threshold roi

假设我有以下图片:

enter image description here

我感兴趣的区域如下:

ROI

我希望得到以下结果:

enter image description here

如何知道ROI由四点表示,我怎样才能实现这一点:

 Point pt1(129,9);
 Point pt2(284,108);
 Point pt3(223,205);
 Point pt4(67,106);

1 个答案:

答案 0 :(得分:3)

我的想法是使用fillPoly()将旋转矩形/多边形内的所有像素填充到0,255,否则:

Mat mask = cv::Mat(img.size(), CV_8UC1, Scalar(255));     // suppose img is your image Mat

vector<vector<Point>> pts = { { pt1, pt2, pt3, pt4 } };
fillPoly(mask, pts, Scalar(0));                           // <- do it here