我正在为我正在做的一个项目尝试用Python处理图像。
这对我来说是第一次用Python编程,我还没有找到解决我所面临的问题的教程。
我正在试验不同的图像分解,并且我想将一些变量A定义为来自指定文件夹的集合图像。基本上,我在寻找类似于Matlab的imread的Python。
在谷歌搜索了一下之后,我找到了很多解决方案,但由于某种原因,似乎没有一个对我有效。
例如,即使是这段简单的代码
import numpy as np
import cv2
# Load an color image in grayscale
img = cv2.imread('messi5.jpg',0)(取自http://opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_gui/py_image_display/py_image_display.html)会产生错误"No module named cv2“。
这一切为什么要发生?如何读取图像?
我试过的另一件事是
import numpy as np
import skimage.io as io
A=io.imread('C:\Users\Oria\Desktop\test.jpg')
io.imshow(A)这将产生错误"SyntaxError:(unicode error) 'unicodeescape‘编解码器无法解码位置2-3的字节:截断\UXXXXXXXX转义“
所有我想做的就是能够从指定的文件夹中读取图像,不应该是hard...Should,还需要注意的是,我使用的数据库是ppm文件。所以我想阅读和展示ppm图像。
编辑:我的环境是Pyzo。如果有什么关系的话。
Edit2:将反斜杠改为正斜杠会将错误更改为
Traceback (most recent call last):
File "<tmp 1>", line 3, in <module>
A=io.imread('C:/Users/Oria/Desktop/test.jpg')
File "F:\pyzo2015a\lib\site-packages\skimage\io\_io.py", line 97, in imread
img = call_plugin('imread', fname, plugin=plugin, **plugin_args)
File "F:\pyzo2015a\lib\site-packages\skimage\io\manage_plugins.py", line 209, in call_plugin
return func(*args, **kwargs)
File "F:\pyzo2015a\lib\site-packages\matplotlib\pyplot.py", line 2215, in imread
return _imread(*args, **kwargs)
File "F:\pyzo2015a\lib\site-packages\matplotlib\image.py", line 1258, in imread
'more images' % list(six.iterkeys(handlers.keys)))
File "F:\pyzo2015a\lib\site-packages\six.py", line 552, in iterkeys
return iter(d.keys(**kw))
AttributeError: 'builtin_function_or_method' object has no attribute 'keys'发布于 2015-05-09 23:07:00
与Matlab的imread最相似的是scipy包中的scipy.misc.imread。我会把这段代码写成:
import scipy.misc
image_array = scipy.misc.imread('filename.jpg')现在来回答你更广泛的问题。这似乎很困难的原因是因为您来自Matlab,它使用了不同的哲学。Matlab是一个开箱即用的整体式安装,具有大量的功能。Python是模块化的。内置库相对较小,然后根据需要安装包。例如,包scipy (科学计算)、cv2 (计算机视觉)和PIL (图像处理)都可以从磁盘读取简单的图像,因此您可以根据想要使用的包中的其他内容在它们之间进行选择。
这提供了更多的灵活性,但它确实要求您熟悉安装包。遗憾的是,由于缺乏“包管理器”,这在Windows上比在类似Linux的系统上要困难得多。在Linux上,我可以在一行中sudo apt-get install scipy并安装所有的scipy。在Windows中,你最好安装像conda这样的软件,它可以简化软件包的安装过程。
https://stackoverflow.com/questions/30126960
复制相似问题