gpt4 book ai didi

python - 给定 4 个点,如何从 pytorch/torchvision 中的图像裁剪四边形?

转载 作者:行者123 更新时间:2023-12-05 07:29:49 24 4
gpt4 key购买 nike

问题很简单 -

我想从 pytorch/torchvision 中的图像裁剪四边形。给定,我有这个四边形角的四个坐标。

请注意,这四个点本身限定了一个四边形,该四边形可能是也可能不是矩形。因此,请不要建议涉及图像切片的答案。

如果我遗漏了任何相关细节,请发表评论。

最佳答案

引用 https://stackoverflow.com/a/30902423/4982729我可以使用 opencv 提取补丁 -

import numpy as np
import cv2

pts = np.array([[542, 107], [562, 102], [582, 110], [598, 142], [600, 192], [601, 225], [592, 261], [572, 263], [551, 245], [526, 220], [520, 188], [518, 152], [525, 127], [524, 107]], dtype=np.int32)

mask = np.zeros((img.shape[0], img.shape[1]))

cv2.fillConvexPoly(mask, pts, 1)
mask = mask.astype(np.bool)

out = np.zeros_like(img)
out[mask] = img[mask]

enter image description here

然后我可以手动将 numpy 数组转换为 torch 的变量。即使在我为神经网络形成 torch 图时,这似乎也没有引发任何错误。

    outputs = model(images)
o = outputs.data.cpu().numpy()
#
# do your opencv stuff here to o
#
o = torch.Tensor(o).to(device)
outputs = Variable(o, requires_grad=True)

关于python - 给定 4 个点,如何从 pytorch/torchvision 中的图像裁剪四边形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52566050/

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