OpenCV:如何创建多边形形状的蒙版?

时间:2017-04-16 23:08:23

标签: c++ opencv mask

我有一个点列表,它是多边形的顶点,如下所示:

std::vector<cv::Point2d> polygonPoints;

我需要在openCV中为goodFeaturesToTrack函数创建一个掩码。对于矩形,使用1填充所需区域的最简单方法是:

cv::Mat mask = cv::Mat::zeros(img.rows, img.cols, CV_8U);
mask(boundingbox) = 1;

如何使用具有10个以上边缘的多边形来执行此操作?对于n边多边形是否存在等效解?

1 个答案:

答案 0 :(得分:10)

管理找到有效的答案!

cv::Mat mask = cv::Mat::zeros(img->rows, img->cols, CV_8U);
cv::Point pts[5] = {
    cv::Point(1, 6),
    cv::Point(2, 7),
    cv::Point(3, 8),
    cv::Point(4, 9),
    cv::Point(5, 10)
};
cv::fillConvexPoly( mask, pts, 5, cv::Scalar(1) );
相关问题