ROI只能使用矩形实现。然而,我有一个轮廓想要设置为ROI。有没有人知道如何将轮廓作为ROI使用,而不是矩形?
如果不可能的话,我该如何仅在特定轮廓中聚焦我的操作?
谢谢。
PS:对于所有这些OpenCV问题,很抱歉。只是真的很困惑:$
ROI只能使用矩形实现。然而,我有一个轮廓想要设置为ROI。有没有人知道如何将轮廓作为ROI使用,而不是矩形?
如果不可能的话,我该如何仅在特定轮廓中聚焦我的操作?
谢谢。
PS:对于所有这些OpenCV问题,很抱歉。只是真的很困惑:$
OpenCV仅支持矩形ROI。
但是,为了对特定像素进行一些处理,您可以使用一些辅助函数。
其中之一是pointPolygonTest(),它告诉您给定的像素是否属于多边形。
因此,您可以编写类似以下的代码:
for(i=0;i<height;i++)
{
for(j=0;j<width;j++)
{
if(pointPolygonTest(Point(i,j),myPolygon))
{
// do some processing
}
}
}
drawPoly()
for(i=0;i<height;i++)
{
for(j=0;j<width;j++)
{
if(mask[j+w*i]))
{
// do some processing
}
}
}