我有一个点列表,它是多边形的顶点,如下所示:
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边多边形是否存在等效解?
答案 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) );