opencv 如何提取旋转矩形的ROI
如图,想这样的一幅图片,我得到的是RotatedRect结构的旋转矩形。现在有两个问题:我如何把这个旋转矩形(包含轮廓信息啦)保存到另一个Mat中,opencv中有提取R...
如图,想这样的一幅图片,我得到的是RotatedRect结构的旋转矩形。现在有两个问题:
我如何把这个旋转矩形(包含轮廓信息啦)保存到另一个Mat中,opencv中有提取ROI是对rect来说的,旋转的矩形就不知道怎么办了
如果得不到这个旋转矩形的话,那么有没有办法计算轮廓到边界框的距离呢——就是轮廓上的点分别到四个边界框的距离。
像这种正规的直上直下的矩形框到边界的距离可以通过访问像素得到,但是像旋转后的又如何得到距离呢?因为毕竟访问像素不大可行了呀 展开
我如何把这个旋转矩形(包含轮廓信息啦)保存到另一个Mat中,opencv中有提取ROI是对rect来说的,旋转的矩形就不知道怎么办了
如果得不到这个旋转矩形的话,那么有没有办法计算轮廓到边界框的距离呢——就是轮廓上的点分别到四个边界框的距离。
像这种正规的直上直下的矩形框到边界的距离可以通过访问像素得到,但是像旋转后的又如何得到距离呢?因为毕竟访问像素不大可行了呀 展开
1个回答
展开全部
很简单,
1 使用RotatedRect minAreaRect(InputArray points)获取这个旋转矩形
2 将其四角存到某vector<Point>里面,变成一个轮廓,怎么获取四角?参见http://docs.opencv.org/modules/core/doc/basic_structures.html?highlight=rotatedrect#RotatedRect
你一定能搞出来。
3 然后遍历内部那个轮廓的各个点,然后使用pointPolygonTest这个opencv函数确定此点与四边形的距离。
4 要注意的是因为点在轮廓内部,所获距离为负数。
1 使用RotatedRect minAreaRect(InputArray points)获取这个旋转矩形
2 将其四角存到某vector<Point>里面,变成一个轮廓,怎么获取四角?参见http://docs.opencv.org/modules/core/doc/basic_structures.html?highlight=rotatedrect#RotatedRect
你一定能搞出来。
3 然后遍历内部那个轮廓的各个点,然后使用pointPolygonTest这个opencv函数确定此点与四边形的距离。
4 要注意的是因为点在轮廓内部,所获距离为负数。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询