使用pointPolyTest'掩盖'多边形-ROI OpenCV?

时间:2017-01-05 07:20:55

标签: c++ opencv

我有一个外部轮廓近似var strDateTime = "2017-01-05T15:03:25.21"+"-08:00"; var myDate = new Date(strDateTime); 函数,称为CV::approxPoyDP()。现在,我想使用这个近似轮廓“掩盖”另一个图像approxPolygon。我们的想法是找到这个“近似轮廓”之外的所有像素,并将像素值重置为0.这样,所需ROI之外的所有区域都是黑色的。

但是我在使用函数edge时遇到了麻烦。当我尝试遍历图像以返回bool值以查看给定点是否在给定的近似轮廓之内或之外时,该函数始终返回CV::pointPolyTest();

这是我的代码的一部分。

false

edge是需要使用轮廓'approxPolygon'掩盖的图像。

segments = ImageSegment::Image[7];
edge = ImageSegment::detectEdges(segments);

由于某种原因,此代码的输出将边缘的所有像素设置为零,基本上是黑屏图像。我的代码有什么问题? for (int row; row <= edge.rows; row++) { for (int col; col < edge.cols; col++) { if(!pointPolygonTest(approxPolygon, Point2f(float(row), float(col)), false)) { edge.at<float>(row,col) = 0; } } } 是否记录在案?谢谢。

0 个答案:

没有答案