Python 使用pylab时未解析的引用

Python 使用pylab时未解析的引用,python,matplotlib,pycharm,Python,Matplotlib,Pycharm,最近,我想用python做一些图像处理。我选择开始。以下是本书中的代码示例: from PIL import Image from pylab import * im = array(Image.open('bird.jpg').convert('L')) figure() gray() contour(im, origin='image') axis('equal') axis('off') 我已经导入了pylab,当我在pychar中运行它时,像array、figure、gray、

最近,我想用python做一些图像处理。我选择开始。以下是本书中的代码示例:

from PIL import Image
from pylab import *

im = array(Image.open('bird.jpg').convert('L'))

figure()

gray()

contour(im, origin='image')
axis('equal')
axis('off')
我已经导入了
pylab
,当我在pychar中运行它时,像array、figure、gray、contour和axis这样的所有命令都会告诉我
未解析的引用

当我在ubuntu的终端上运行它时:python.py 它说,
名称“array”未定义。


有人能帮我弄清楚吗?提前谢谢。

我找到了解决方法,但似乎有点愚蠢:

from PIL import Image
from numpy import *
import matplotlib.pyplot as plt

im = array(Image.open('bird.jpg').convert('L'))

print im.shape, im.dtype

plt.figure(1)
plt.gray()
plt.contour(im, origin='image')
plt.figure(2)
plt.hist(im.flatten(), 128)
plt.show()
我只是分别导入
numpy
matplotlib
。我知道它不像pylab那样方便,但至少它现在适合我了。
更好的回答

numpy
pyplot
将保持命名空间整洁。。。避免pylab
。。。和
import numpy
(如果您愿意,作为
np
),但不是
numpy*
@ReblochonMasque是的,这也有助于我熟悉各个包中的函数。谢谢