在OpenCV中使用投资回报率?
ROI只能用矩形实现。 然而,我有一个我想设定为ROI的轮廓。 有没有人知道我会如何将轮廓用作ROI而不是矩形?
否则,如果不可能,我怎么才能将我的动作只集中在特定轮廓的像素中?
谢谢
PS:对于所有这些OpenCV问题抱歉。 只是非常困惑:$
OpenCV仅支持矩形投资回报率。
但是,要对特定像素进行一些处理,可以使用一些辅助函数。
其中一个是pointPolygonTest(),它告诉你一个给定的像素不属于多边形。
所以你可以写一些类似的东西
for(i=0;i<height;i++)
{
for(j=0;j<width;j++)
{
if(pointPolygonTest(Point(i,j),myPolygon))
{
// do some processing
}
}
}
另请查看http://opencv.itseez.com/doc/tutorials/imgproc/shapedescriptors/point_polygon_test/point_polygon_test.html#point-polygon-test
另一个(更快)的选项是@ andeas-haferburg推荐的选项。 通过在新的灰度图像中绘制多边形来制作蒙版:
drawPoly()
(所以背景为0,多边形为255),然后你可以传递给其他一些函数,或者自己使用它:
for(i=0;i<height;i++)
{
for(j=0;j<width;j++)
{
if(mask[j+w*i]))
{
// do some processing
}
}
}
上面的例子只是伪代码,你必须让它工作。
链接地址: http://www.djcxy.com/p/89717.html上一篇: Using ROI in OpenCV?