首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中读取图像-使用图像进行实验

在python中读取图像-使用图像进行实验
EN

Stack Overflow用户
提问于 2015-05-08 23:00:56
回答 1查看 2.7K关注 0票数 0

我正在为我正在做的一个项目尝试用Python处理图像。

这对我来说是第一次用Python编程,我还没有找到解决我所面临的问题的教程。

我正在试验不同的图像分解,并且我想将一些变量A定义为来自指定文件夹的集合图像。基本上,我在寻找类似于Matlab的imread的Python。

在谷歌搜索了一下之后,我找到了很多解决方案,但由于某种原因,似乎没有一个对我有效。

例如,即使是这段简单的代码

代码语言:javascript
复制
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“。

这一切为什么要发生?如何读取图像?

我试过的另一件事是

代码语言:javascript
复制
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:将反斜杠改为正斜杠会将错误更改为

代码语言:javascript
复制
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'
EN

回答 1

Stack Overflow用户

发布于 2015-05-09 23:07:00

与Matlab的imread最相似的是scipy包中的scipy.misc.imread。我会把这段代码写成:

代码语言:javascript
复制
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这样的软件,它可以简化软件包的安装过程。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30126960

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档