我在一个图像上有许多多边形的顶点坐标,我的目标是裁剪这些多边形。
然而,一些顶点超出范围(即具有负坐标),我想裁剪这些多边形与原始图像的交叉区域。
例如,一个感兴趣的多边形(矩形)的顶点为[[[-43 97]], [[ 73 177]], [[ 43 220]], [[-73 140]]]
,多边形的边界框({{1}})为x, y, w, h
,如下图所示:
我希望在这种情况下裁剪(-73, 97, 147, 124)
,估计120和190。
我能想到的一种方法是计算缺失顶点和包含顶点之间的直线的交点,但在考虑所有情况和顶点顺序时它可能非常复杂。
我也在考虑在原始图像周围填充大区域的黑色像素,因此缺少的区域将替换为黑色像素。我不确定如何在持久保存原始坐标系时在[[[0 120]], [[ 73 177]], [[ 43 220]], [[0 190]]]
中实现此功能。
有没有更好的方法来解决这个问题?