在python中将图像转换为numpy数组

时间:2014-04-03 17:50:03

标签: python image-processing numpy computer-vision scikits

我第一次使用Python + Scipy + Scikit-image + numpy。

我正在使用this页面寻求帮助,而且我只是更改了给定的代码以获取我喜欢的图像:

tree = misc.imread('C:\\Users\\app\\Pictures\\treephoto1.jpg')
type(tree)
<type 'numpy.ndarray' >
tree.shape, tree.dtype((512, 512), dtype('uint8'))

但我收到以下错误:

 type(tree) <type 'numpy.ndarray'>
                                   ^
SyntaxError: invalid syntax

语法有什么问题?我在Windows上使用python 2.7,所有相关的工具包也都是根据Python 2.7。

我需要将图像转换为2-D numpy数组,以便我可以使用canny边缘检测器。

1 个答案:

答案 0 :(得分:3)

不经思考写作可能很危险,但在你的情况下,这是错误的。您提到的页面显示了这一点:

>>> lena = misc.imread('lena.png')
>>> type(lena)
<type 'numpy.ndarray'>
>>> lena.shape, lena.dtype
((512, 512), dtype('uint8'))

>>>是Python的交互式控制台提示字符串。这是命令。

<type 'numpy.ndarray'>((512, 512), dtype('uint8'))结果的命令。所以你的相应代码应该只是

tree = misc.imread('C:\\Users\\app\\Pictures\\treephoto1.jpg')
type(tree)
tree.shape, tree.dtype

请注意

type(tree)
tree.shape, tree.dtype

什么都不做,只是向您展示有关图像数据的信息。

<强>更新

基本上(并非总是)您的图像是分层的。 RGB是三个独立的层。因此,如果您的过滤没有意识到,那么您必须自己分离图层。

希望有所帮助。