一つの点が輪郭内にあるかどうかを判断する関数pointPolygonTest()の使い方
1219 ワード
OpenCV関数pointPolygonTest():
C++: double pointPolygonTest(InputArray contour, Point2f pt, bool measureDist)
1つの点が輪郭にあるか否かを判断するために用いられるmeasureDistがtrueに設定されている場合、戻り値が正であれば、点が輪郭内部にあることを示し、戻り値が負であり、輪郭外部にあることを示し、戻り値が0であり、輪郭にあることを示す.measureDistがfalseに設定されている場合、戻り値が+1の場合、表示点は輪郭内部、戻り値は-1、輪郭外部、戻り値は0、輪郭上に表示されます.例:
C++: double pointPolygonTest(InputArray contour, Point2f pt, bool measureDist)
1つの点が輪郭にあるか否かを判断するために用いられるmeasureDistがtrueに設定されている場合、戻り値が正であれば、点が輪郭内部にあることを示し、戻り値が負であり、輪郭外部にあることを示し、戻り値が0であり、輪郭にあることを示す.measureDistがfalseに設定されている場合、戻り値が+1の場合、表示点は輪郭内部、戻り値は-1、輪郭外部、戻り値は0、輪郭上に表示されます.例:
……
///
std::vector<std::vector<:point/> > contours;
cv::Mat src; //src
cv::findContours( src, contours, CV_RETR_EXTERNAL,CV_CHAIN_APPROX_SIMPLE,Point(0,0));
// p1(x,y)
cv::Point p1(x,y);
if (pointPolygonTest(Contours[j],cv::Point(x1,y1),false) == 1)
{
cout<" "<