Python openCV:在进行裁剪时如何处理超出范围的多边形?

时间:2018-06-01 14:26:45

标签: python opencv image-processing

我在一个图像上有许多多边形的顶点坐标,我的目标是裁剪这些多边形。

然而,一些顶点超出范围(即具有负坐标),我想裁剪这些多边形与原始图像的交叉区域。

例如,一个感兴趣的多边形(矩形)的顶点为[[[-43 97]], [[ 73 177]], [[ 43 220]], [[-73 140]]],多边形的边界框({​​{1}})为x, y, w, h,如下图所示:

enter image description here

我希望在这种情况下裁剪(-73, 97, 147, 124),估计120和190。

我能想到的一种方法是计算缺失顶点和包含顶点之间的直线的交点,但在考虑所有情况和顶点顺序时它可能非常复杂。

我也在考虑在原始图像周围填充大区域的黑色像素,因此缺少的区域将替换为黑色像素。我不确定如何在持久保存原始坐标系时在[[[0 120]], [[ 73 177]], [[ 43 220]], [[0 190]]]中实现此功能。

有没有更好的方法来解决这个问题?

0 个答案:

没有答案