PIL save()报错ValueError: unknown file extension: debug日志
python图像处理,debug
·
错误代码
#!/user/bin/python
# _*_ coding:utf-8 _*_
#开发人员:徐雨阳
#开发时间2022/6/3 23:28
#文件名称: 图片降像素.py
#开发工具: pycharm
#项目名称 pythonProjects
from PIL import Image
import matplotlib.pyplot as plt
import tqdm
import os
def ResizeImage(scale=1):
path = '易拉罐'
outpath = '易拉罐新'
for a, b, c in os.walk(path):
print(c)
for i in tqdm.tqdm(c):
f = os.path.join(path, i)
if f.endswith("jpg"):
# print(f,i)
img = Image.open(f)
width = int(img.size[0] * scale)
height = int(img.size[1] * scale)
type = img.format
out = img.resize((width, height), Image.ANTIALIAS)
print(os.path.join(outpath, i))
out.save(path=os.path.join(outpath,i),fp='jpeg')
# plt.imshow(out)
# plt.axis('off') # 去坐标轴
# plt.xticks([]) # 去刻度
# plt.savefig(os.path.join(outpath, i), bbox_inches='tight', pad_inches=-0.1) # 注意两个参数
"""
改变图片大小
:param filein: 输入图片
:param fileout: 输出图片
:param width: 输出图片宽度
:param height: 输出图片宽度
:param type: 输出图片类型(png, gif, jpeg...)
:return:
"""
# 第二个参数:
# Image.NEAREST :低质量
# Image.BILINEAR:双线性
# Image.BICUBIC :三次样条插值
# Image.ANTIALIAS:高质量
if __name__ == "__main__":
print("开始运行")
ResizeImage(scale=0.3)
他会报错说是未知的扩展名,不过我检查发现扩展名没有错。而且网上关于这个报错信息讨论较少,我决定记录下今天的debug,给后来的同学避避雷。
源码
ext=‘.jpg’,我猜测是这里ext多一个’.'的原因,能力有限就不调试了,交给下一个有能力且愿意深挖的同学来解决吧(这个bug改到凌晨1点,吐了)
debug
我导入matplotlib.pyplot曲线救国
print(os.path.join(outpath, i))
# out.save(path=os.path.join(outpath,i),fp='jpeg')
plt.imshow(out)
plt.axis('off') # 去坐标轴
plt.xticks([]) # 去刻度
plt.savefig(os.path.join(outpath, i), bbox_inches='tight', pad_inches=-0.1) # 注意两个参数
将out附近的代码更改为plt.savefig()解决了这个问题
舒服了
更多推荐
已为社区贡献1条内容
所有评论(0)