gpt4 book ai didi

python - 如何避免 Pillow 在保存图像后稍微编辑我的图像?

转载 作者:太空宇宙 更新时间:2023-11-03 13:25:05 24 4
gpt4 key购买 nike

我正在尝试创建一个生成二进制 RGB 图像的脚本,所有像素必须为黑色 (0,0,0) 或白色 (255,255,255)。问题在于,当脚本保存输出时,一些像素将具有不同黑白阴影的随机值,例如 (14,14,14)、(18,18,18)、(241,241,241)。

#Code generated sample:
from PIL import Image
sample = Image.new('RGB', (2,2), color = (255,255,255))
#A four pixel image that will do just fine to this example
pixels = sample.load()
w, h = sample.size #width, height
str_pixels = ""

for i in range(w): #lines
for j in range(h): #columns

from random import randint
rand_bool = randint(0,1)
if rand_bool:
pixels[i,j] = (0,0,0)

str_pixels += str(pixels[i,j])
#This will be printed later as single block for readability

print("Code generated sample:") #The block above
print(str_pixels)

#Saved sample:

sample.save("sample.jpg")
saved_sample = Image.open("sample.jpg")
pixels = saved_sample.load()
w, h = saved_sample.size
str_pixels = ""

for i in range(w):
for j in range(h):
str_pixels += str(pixels[i,j])

print("Saved sample:")
print(str_pixels)

>> Code generated sample:
>>(255, 255, 255)(0, 0, 0)(0, 0, 0)(255, 255, 255)
>>Saved sample:
>>(248, 248, 248)(11, 11, 11)(14, 14, 14)(242, 242, 242)

一种解决方案是创建一个 philter,当实际使用这些值时将这些值更改为 0 或 255,但希望有更好的值。这是使用 Windows 测试的。

最佳答案

这个问题源于使用.jpg,它使用了有损空间压缩。

我建议使用 .png,这是一种无损压缩,非常适合像您这样只有很少不同值的数据。您可以阅读 .png 压缩算法以了解更多信息。

关于python - 如何避免 Pillow 在保存图像后稍微编辑我的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58242752/

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