如何使用Python镜像多边形?

时间:2017-11-09 15:06:31

标签: python shapely

我有一组图像,用于绘制多边形。我有这些多边形的点,我使用Shapely绘制这些点并检查来自眼动仪的某些点是否落入多边形。

现在,其中一些图像是镜像的,但我没有绘制多边形的坐标。如何水平翻转多边形?有没有办法用Shapely做到这一点?

2 个答案:

答案 0 :(得分:1)

如果要反映垂直轴的多边形,即水平翻转它,一个选项是使用{{1}提供的scale变换(使用负单位缩放系数)或者使用自定义转换:

shapely.affinity

答案 1 :(得分:0)

通过乘以[[1,0], [0,-1]],可以得到垂直翻转的形状。
(我在jupyter笔记本上进行了测试)

pts = np.array([[153, 347],
                [161, 323],
                [179, 305],
                [195, 315],
                [184, 331],
                [177, 357]])
display(Polygon(pts))
display(Polygon(pts.dot([[1,0],[0,-1]])))

jupyter_notebook_result

如果将[[-1,0],[0,1]]乘以,就会得到水平翻转的形状。

请参阅linear transformation以了解其工作原理。