gpt4 book ai didi

python - 在 Python 中使用 Pillow 从图像裁剪区域

转载 作者:太空宇宙 更新时间:2023-11-03 21:20:39 26 4
gpt4 key购买 nike

Rectangle with lines which are not parallel to the margins

我想在 python 中使用 Pillow 从图像中裁剪一个矩形区域。问题是矩形不一定与图像边距平行,所以我不能使用 .crop((left, top, right, bottom)) 函数。

有没有办法用 Pillow 实现这一目标? (假设我们知道矩形的所有 4 个点的坐标)如果没有,如何使用不同的 Python 库来完成?

The end result should look like this

最佳答案

您可以在 OpenCV 中使用最小旋转矩形:

rect = cv2.minAreaRect(cnt)
box = cv2.boxPoints(rect)
box = np.int0(box)

结果你有:矩形的中心坐标(x,y),宽度,高度,旋转角度。您可以从这个矩形旋转整个图像角度。您的图像现在将被旋转:

Rotated image

您可以计算四个矩形顶点的新坐标(您有角度)。然后只计算这些点的正常矩形(正常矩形 = 不是最小的,没有任何旋转)。使用此矩形,您可以裁剪旋转后的图像。如果我对你的理解正确的话,在这个裁剪图像中将是你想要的。类似的东西:

result

所以你只需要Opencv。也许有一些库可以让您更轻松地做到这一点。

关于python - 在 Python 中使用 Pillow 从图像裁剪区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54522956/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com