0

我正在尝试沿轮廓裁剪右侧的图片。该对象是使用冲浪特征检测的,而不是我想完全按照检测到的那样裁剪图像。在此处输入图像描述

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

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

4

2 回答 2

1

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

不确定执行此操作的内置功能,但这种简单的方法可以保证有效。为了获得更高的准确性,您可能需要考虑亚像素检查。

于 2013-06-03T12:07:28.527 回答
1

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

于 2013-06-03T16:54:09.187 回答