gpt4 book ai didi

python - 调整图像大小时解码器 JPEG 错误

转载 作者:行者123 更新时间:2023-11-28 16:39:32 25 4
gpt4 key购买 nike

我编写了以下代码来从目录中读取 jpeg,然后调整它们的大小。

for dirs, path, files in os.walk("wallet_training/"):
for filename in files:
I=Image.open(os.path.join("wallet_training",filename))
I=I.resize((256,256), Image.ANTIALIAS)
print I

但是它会抛出以下错误:

File "test.py", line 31, in <module>
I=I.resize((256,256), Image.ANTIALIAS)
File "/usr/local/lib/python2.7/dist-packages/PIL/Image.py", line 1290, in resize
self.load()
File "/usr/local/lib/python2.7/dist-packages/PIL/ImageFile.py", line 189, in load
d = Image._getdecoder(self.mode, d, a, self.decoderconfig)
File "/usr/local/lib/python2.7/dist-packages/PIL/Image.py", line 385, in _getdecoder
raise
IOError("decoder %s not available" % decoder_name)

在没有调整大小功能的情况下使用时,代码似乎可以正常工作。提前谢谢你。

附言我检查了另一个问题,我安装了 libjpeg-dev 但它仍然无法正常工作

最佳答案

如果您想诊断为什么 PIL 在构建时找不到 libjpeg 并正确使用它,我们可以……

但 PIL 实际上是一个死项目,它在 4 年前不存在的系统(如 64 位 Ubuntu 13.10)上的配置存在许多问题。它在使用现代 setuptools/pip 时也存在一些问题,并且关于构建过程的文档很少。它的最后一个版本 (1.1.6) 从未分发到 PyPI。

Pillow是“PIL 的现代分支”,从 PIL 1.1.6 开始,修复它以正确执行 setuptools,让它在每个主要操作系统上工作,将它移植到 Python 3.x,并且修复了各种错误。

因此,除非您真的需要 PIL 1.1.5 或 1.1.6,否则请使用 Pillow反而。这应该像这样简单:

$ pip uninstall PIL
$ pip install pillow

除非你通过 binary wheel 安装,否则安装命令的输出应该给你一个很好的表格,其中列出了哪些功能被编译了,哪些没有被编译......但是如果你有你的发行版的标准 libjpeglibjpeg-dev 包,我敢打赌它会被发现。

关于python - 调整图像大小时解码器 JPEG 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21342365/

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