OpenCV:如何创建多边形的遮罩?
OpenCV: How to create a mask in the shape of a polygon?
我有一个点列表,它们是多边形的顶点,如下所示:
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边形的等效解吗?
设法找到有效的答案!
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) );
我有一个点列表,它们是多边形的顶点,如下所示:
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边形的等效解吗?
设法找到有效的答案!
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) );