2017-04-16 10 views
2

나는 다음과 같이 다각형의 정점에있는 점의 목록을 가지고있다. 사각형의 경우, 가장 쉬운 방법은 1 년대으로 원하는 영역을 채울는 다음과 같이이다 :OpenCV : 다각형 형태로 마스크를 만드는 방법은 무엇입니까?</p> <pre><code>std::vector<cv::Point2d> polygonPoints; </code></pre> <p>내가 OpenCV의에서 <code>goodFeaturesToTrack</code> 기능을 위해 마스크를 만들어야합니다

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

내가 10 + 가장자리가 다각형이 작업을 수행하려면 어떻게합니까? 양면 다각형에 해당하는 솔루션이 있습니까?

답변

3

답변이 도움이 되었습니까?

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));