gpt4 book ai didi

python - 图像到 numpy 数组到图像,最后再次到数组导致错误的数组

转载 作者:太空狗 更新时间:2023-10-30 02:38:23 26 4
gpt4 key购买 nike

我使用以下方法将图像转换为 numpy 数组:

arr = np.array(PIL.Image.open('1.jpg'))

然后我修改了数组的一部分:

arr[0][0][0] = 128

并将数组转换回图像:

img = PIL.Image.fromarray(np.uint8(arr))
im.save('2.jpg')

然后,我将 2.jpg 图像转换为 numpy 数组并检查 arr 的值:

arr = np.array(PIL.Image.open('2.jpg'))
print(arr)

我得到了一个与之前完全不同的数组。为什么会这样?

最佳答案

保存图像的方式会影响结果。jpg 压缩图像并更改值。

关于图片格式请看这里: http://pillow.readthedocs.io/en/3.1.x/handbook/image-file-formats.html

使用这个:

arr = np.array(PIL.Image.open('1.jpg')
arr[0][0][0] = 128

img = PIL.Image.fromarray(np.uint8(arr))
im.save('2.bmp')

arr2 = np.array(PIL.Image.open('2.bmp'))
print(arr)
print(arr2)

这很好用。

关于python - 图像到 numpy 数组到图像,最后再次到数组导致错误的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47122088/

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