pointPolygonTest не находит никакой точки

Я хочу найти центр ладони. Сначала я нашел контуры и выбрал контур максимальной площади. И я использовал pointPolygonTest. Мой код и изображение результата ниже, но я не нашел никакой точки, используя pointPolygonTest. В чем проблема?

double dist, maxdist = -1;
Point center;
for(int i = 0; i< drawing.cols; i += 10) {
for(int j = 0; j< drawing.rows; j += 10) {

dist = pointPolygonTest(contours[maxAreaIndex], Point(i,j),true);
cout << "   dist " << dist << endl;
if(dist > maxdist)
{
maxdist = dist;
center = cv::Point(i,j);
}
}
}
cout << "maxdist = " << maxdist << endl;
circle(drawing, center, maxdist, cv::Scalar(220,75,20),1,CV_AA);
/// Show in a window
namedWindow( "Contours", CV_WINDOW_AUTOSIZE );
imshow( "Contours", drawing );

введите описание изображения здесь

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]