Skimage Python33 Canny

use*_*351 4 numpy python-3.x python-3.3 scikit-learn

长话短说,我只是想简单地想要获得一个精明的形象image.jpg.

文档很乱,所以我很困惑.如果有人可以提供帮助,那将非常感激.

from scipy import misc
import numpy as np
from skimage import data
from skimage import feature
from skimage import io


im=misc.imread('image1.jpg')
edges1 = feature.canny(im)
...
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误

ValueError: The parameter `image` must be a 2-dimensional array
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释如何从图像文件创建2D数组?谢谢!

War*_*ser 7

我怀疑image1.jpg是彩色图像,im3D也是如此,有形状(num_rows,num_cols,num_color_channels).一种选择是imread通过给出参数来将图像展平为2D数组flatten=True:

im = misc.imread('image1.jpg', flatten=True)
Run Code Online (Sandbox Code Playgroud)

或者您可以只应用于canny其中一个颜色通道,例如

im = misc.imread('image1.jpg')
red_edges = feature.canny(im[:, :, 0])
Run Code Online (Sandbox Code Playgroud)