gpt4 book ai didi

python - 如何处理不同的图像尺寸

转载 作者:行者123 更新时间:2023-11-28 19:02:06 26 4
gpt4 key购买 nike

我正在处理图像以找到外部 body 点,但是当我保存它们时它们有不同的大小,这会产生问题。

  1. 我的原始图像是一个人。 (1.8Mb)

  2. 我创建了一个人的面具,以从原始图像中检测外部 body 部位并将其保存。 (400kb)

  3. 从蒙版中,我获得了外部 body 点并将它们绘制在原始图像上,但由于原始图像和蒙版图像的大小不同,它们没有对齐。

    为了保存没有轴和全尺寸的图像,以便它可以与原始图像匹配,我通过以下方法保存它们。保存后它们看起来完全一样,但由于大小不同,点没有对齐。

      plt.axis('off')
    fig.axes.get_xaxis().set_visible(False)
    fig.axes.get_yaxis().set_visible(False)
    plt.savefig('kmask.jpg',bbox_inches='tight',pad_inches = 0,dpi=1500)

当我在原始图像上绘制点时的结果:

Result when I plot points on original image

如何处理此类问题?

最佳答案

据我所知,您正在以与原始图像不同的大小保存蒙版。

解决此问题的一种方法是首先计算出原始图像的分辨率。如果您不知道,您可以随时检查:

img = plt.imread('body_image.jpg')
print(img.shape)
# The first two numbers correspond to the height and width of the image in pixels

问题在于 matplotlib 处理图像分辨率的方式不同。相反,它需要数字大小(以英寸为单位)和 DPI(或多少个每英寸像素)。一种方法是计算您需要的值,并相应地保存图像。

image_height_in_pixels = height_in_inches * dpi

然后用这两个数来保存mask。

f = plt.figure(figsize=(height_in_inches, width_in_inches))
plt.axis('off')
plt.savefig('kmask.jpg', bbox_inches='tight', pad_inches=0, dpi=dpi)

如果这不起作用,请尝试使用 matplotlib 也保存原始图像。这将确保它们具有相同的尺寸。

关于python - 如何处理不同的图像尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51671500/

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