Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将图像中的像素值替换为不同的值,但在获得颜色值后,它就不同了_Python_Python 2.7_Jpeg_Python Imaging Library - Fatal编程技术网

Python 将图像中的像素值替换为不同的值,但在获得颜色值后,它就不同了

Python 将图像中的像素值替换为不同的值,但在获得颜色值后,它就不同了,python,python-2.7,jpeg,python-imaging-library,Python,Python 2.7,Jpeg,Python Imaging Library,该值应该是(1,1,1)…但它显示(8,1,0)JPEG是一种有损格式 保存时,将使用不保留精确像素信息的算法压缩像素数据。在读取和解压缩该数据时,无法保证特定像素仍具有完全相同的颜色值(8,1,0)已经足够接近了 如果对应用程序很重要,请使用与PNG完全相同的保存像素数据的不同格式。JPEG是一种有损格式 保存时,将使用不保留精确像素信息的算法压缩像素数据。在读取和解压缩该数据时,无法保证特定像素仍具有完全相同的颜色值(8,1,0)已经足够接近了 如果这对您的应用程序很重要,请使用与PNG完全

该值应该是(1,1,1)…但它显示(8,1,0)

JPEG是一种有损格式

保存时,将使用不保留精确像素信息的算法压缩像素数据。在读取和解压缩该数据时,无法保证特定像素仍具有完全相同的颜色值<就JPEG压缩而言,code>(8,1,0)已经足够接近了

如果对应用程序很重要,请使用与PNG完全相同的保存像素数据的不同格式。

JPEG是一种有损格式

保存时,将使用不保留精确像素信息的算法压缩像素数据。在读取和解压缩该数据时,无法保证特定像素仍具有完全相同的颜色值<就JPEG压缩而言,code>(8,1,0)已经足够接近了


如果这对您的应用程序很重要,请使用与PNG完全相同的保存像素数据的不同格式。

谢谢您添加标签@martjin谢谢您添加标签@martjin谢谢您的回答,我已经被困了很长一段时间。另外,除了更改格式之外,还有其他选择吗?@user2524452,您可以更改压缩因子,这可能会有所帮助,但值永远不会精确-这是格式的本质。这就是为什么它能够使图像变得更小。你可以尝试增加质量设置,但你永远不会让JPEG完全按照你的设置保存所有内容
im.save(“E:\\new.jpeg,quality=95)
是建议的最大值,
quality=100
禁用量化阶段,导致文件大小荒谬。另外,非常感谢您的回答,我已经被困了很长时间。另外,除了更改格式之外,还有其他选择吗?@user2524452,您可以更改压缩因子,这可能会有所帮助,但值永远不会精确-这是格式的本质。这就是为什么它能够使图像变得更小。你可以尝试增加质量设置,但你永远不会让JPEG完全按照你的设置保存所有内容
im.save(“E:\\new.jpeg”,quality=95)
是建议的最大值,
quality=100
禁用量化阶段,导致文件大小过大。另外,请参阅
>>> from PIL import Image
>>> im = Image.open("E:\\aaa.jpeg")
>>> color = im.getpixel((100,100))
>>> print  color
   (235, 229, 205)
>>> im.putpixel((100,100),(1,1,1))
>>> im.save("E:\\new.jpeg")
>>> im=Image.open("E:\\new.jpeg")
>>> color=im.getpixel((100,100))
>>> print color
   (8, 1, 0)