Pillow库调用BICUBIC报错:'JpegImageFile'对象无BICUBIC属性
解决Pillow中BICUBIC引发的AttributeError问题
这个错误的原因很清晰:你误将BICUBIC当成了图片实例im的属性,但实际上BICUBIC是Pillow的Image类(模块级别)的常量,并非单个图片对象的属性。
问题代码的错误点
你写的这行代码存在属性调用错误:
im_bicubic = im.resize((wei,hei), im.BICUBIC)
这里的im.BICUBIC是错误写法,因为im是你打开的JpegImageFile实例,它本身并不具备BICUBIC这个属性。
修正后的完整代码
只需要把im.BICUBIC替换为Image.BICUBIC即可正常运行,修正后的代码如下:
import sys, os import numpy as np import matplotlib.pyplot as plt from PIL import Image from scipy import * sys.path.insert(0, 'C:/research') im = Image.open('C:/research/1.jpg') hei, wei = im.height, im.width # 修正:使用模块级别的Image.BICUBIC常量 im_bicubic = im.resize((wei,hei), Image.BICUBIC) im.save('C:/research/1ori.jpg') #original image im_bicubic.save('C:/research/1bic.jpg') #Images with bicubic applied
额外小提示
另外注意你这里的resize参数是(wei,hei),和原图尺寸完全一致,这样操作不会产生缩放效果,只是用双三次插值对原图做了一次重新采样。如果你的目标是缩放图片,记得调整这个尺寸参数哦。
内容的提问来源于stack exchange,提问作者ONION
相关产品推荐
相关产品推荐

