在此图片上
我正在尝试申请:
from PIL import Image
img0 = PIL.Image.open('Entertainment.jpg')
img0 = np.float32(img0)
showarray(img0/255.0)
我收到了这个错误:
TypeErrorTraceback (most recent call last)
<ipython-input-20-c181acf634a8> in <module>()
2 img0 = PIL.Image.open('Entertainment.jpg')
3 img0 = np.float32(img0)
----> 4 showarray(img0/255.0)
<ipython-input-8-b253b18ff9a7> in showarray(a, fmt)
11 f = BytesIO()
12 PIL.Image.fromarray(a).save(f, fmt)
---> 13 display(Image(data=f.getvalue()))
14
15 def visstd(a, s=0.1):
TypeError: 'module' object is not callable
我无法理解为什么。
这里有什么不可赎回的?
我怎样才能显示图像?
答案 0 :(得分:0)
Image
是您导入的模块
from PIL import Image
你不能称之为
Image(data=f.getvalue())
有一种可能有用的节目方法
img0 = PIL.Image.open('Entertainment.jpg')
img0.show()
答案 1 :(得分:0)
问题可能源于您导入display()
函数的方式。如果您的导入行是:
import IPython.display as display
然后您需要调用display.display()
来显示图像。例如:
import IPython.display as display
my_image = Image.open('something.jpg')
display.display(my_image)
如果您改为将函数调用为
import IPython.display as display
my_image = Image.open('something.jpg')
display(my_image) # INCORRECT
# TypeError: 'module' object is not callable
然后您确实会在原始帖子中收到错误消息,因为display
是指模块而不是函数。
或者,如果您以以下方式导入display()
函数,则代码将起作用:
from IPython.display import display
my_image = Image.open('something.jpg')
display(my_image)