在opencv中旋转裁剪

时间:2013-06-03 08:29:41

标签: opencv image-processing

我正试图沿着轮廓右侧裁剪图片。使用冲浪功能检测对象,而不是我想要检测到的图像。 enter image description here

使用裁剪时,包括其他对象的外边界。我想沿着下面的绿线进行裁剪。 OpenCV有RotatedRect,但我不确定它是否适合裁剪。

有没有办法沿着绿线完美裁剪

2 个答案:

答案 0 :(得分:1)

您可以从每个端点获取线的方程。使用这些等式来检查任何给定像素是否位于绿色框内,即它是否位于顶部和底部线之间的左右线之间。在整个图像上运行此操作,并将不在框内的任何内容重置为黑色。

不确定内置功能是否可行,但这种简单的方法可以保证正常工作。为了获得更高的精度,您可能需要考虑子像素检查。

答案 1 :(得分:1)

我假设你从http://docs.opencv.org/doc/tutorials/features2d/feature_homography/feature_homography.html得到你的例子,所以你可以做的是找到绿色边界框周围的最小轴对齐边界框,从图像中裁剪它,使用倒置单应性({ {1}})矩阵将该子图像转换为新图像(调用H.inv()),然后裁剪绿色边框(它应该在新图像中对齐)。