python-3.x - Skimage Python33 Canny

标签 python-3.x numpy scikit-learn python-3.3

长话短说,我只是想获得 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)
...

我收到这个错误
ValueError: The parameter `image` must be a 2-dimensional array

谁能解释如何从图像文件创建二维数组?
谢谢!

最佳答案

我怀疑 image1.jpg是彩色图像,所以 im是 3D,形状为 (num_rows, num_cols, num_color_channels)。一种选择是告诉 imread通过给它参数 flatten=True 将图像展平为二维数组:

im = misc.imread('image1.jpg', flatten=True)

或者您可以申请 canny只是颜色 channel 之一,例如
im = misc.imread('image1.jpg')
red_edges = feature.canny(im[:, :, 0])

关于python-3.x - Skimage Python33 Canny,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30610671/

相关文章:

python - 在 pandas 数据框中查找每行的两个列列表中哪一个是真的最快方法

python - 将列表转换为矩阵

python - XGBoost 与 GridSearchCV、缩放、PCA 和 sklearn 管道中的早期停止

mysql - Mysql是否支持PMML

scikit-learn - 使用转换器(估计器)来转换 sklearn.pipeline 中的目标标签

python - 检查Python中连续相等元素的数量

python - 按不需要的字母顺序排列的元组

python-3.x - 本地字典变量意外地持续存在超出功能范围

python - 尝试注册 zope.interface 的实现者时出错

python - Numpy 随机二维数组