Python无法识别'imread'函数

0 投票
3 回答
21411 浏览
提问于 2025-04-28 11:39

我在Ubuntu上使用Python 2.7,最近在做一些关于图像的实验,准备开始我的算法课作业。我下载了numpy、scipy和skimage这些包,但每次我使用'imread'、'title'这些内置函数时,都会出现未定义的错误。你知道可能是什么问题吗?

   from pylab import *
   from skimage import img_as_float

   img = imread(‘someimage.png’)
   img = img_as_float(img)
   w, h = img.shape[:2]
   R = img[:,:,0]
   G = img[:,:,1]
   B = img[:,:,2]
   figure()
   gray()
   subplot(1,4,1); imshow(img); title(“RGB”)
   subplot(1,4,2); imshow(R); title(“Red”)
   subplot(1,4,3); imshow(G); title(“Green”)
   subplot(1,4,4); imshow(B); title(“Blue”)
   show()   
暂无标签

3 个回答

0

如果你在读取图片时遇到问题,可以试试这个方法。

from matplotlib.pyplot import imread
im = imread(image.png)
1

imread这个函数是从哪里来的呢?你可以很容易地查看一个导入库里的所有函数。可以参考这个链接:http://stackoverflow.com/questions/139180/listing-all-functions-in-a-python-module

如果你想找SciPy里的imread函数,你需要这样做...

from scipy.misc import imread
...
img = imread(‘someimage.png’)

或者

from scipy import misc
...
img = misc.imread('someimage.png')

或者

import scipy
... 
img = scipy.misc.imread(‘someimage.png’)

Python本身并不知道title函数或imread函数是什么,除非你明确地告诉它。导入时,你需要根据作用域导入每个函数、类或库等。你可以查看这个链接了解更多:https://docs.python.org/3/reference/import.html

另外,第一条评论是对的。你需要安装PIL才能使用imread函数。

12

试着在你的导入部分加上:

from skimage.io import imread

撰写回答