首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Skimage Python33 Canny

Skimage Python33 Canny
EN

Stack Overflow用户
提问于 2015-06-03 04:08:21
回答 2查看 4.5K关注 0票数 5

长话短说,我只是想得到一个精明的边缘形象的image.jpg

文档非常杂乱无章,所以我很困惑。如果有人能帮忙的话,我会非常感激的。

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

我得到了这个错误

代码语言:javascript
复制
ValueError: The parameter `image` must be a 2-dimensional array

有人能解释如何从图像文件中创建2D数组吗?谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-03 04:20:46

我怀疑image1.jpg是彩色图像,所以im是三维的,具有形状(num_rows,num_cols,num_color_channels)。一种选择是告诉imread通过给出参数flatten=True,将图像压缩成二维数组。

代码语言:javascript
复制
im = misc.imread('image1.jpg', flatten=True)

或者你可以将canny应用到其中的一个彩色通道上。

代码语言:javascript
复制
im = misc.imread('image1.jpg')
red_edges = feature.canny(im[:, :, 0])
票数 9
EN

Stack Overflow用户

发布于 2018-02-22 19:31:12

canny边缘检测需要输入灰度图像才能正常工作。您可以使用rgb2gray模块将3D (彩色)图像转换为2D (灰度)-图像。

代码语言:javascript
复制
from skimage import io, features
from skimage.color import rgb2gray

image = rgb2gray(io.imread("image.png"))
edges = feature.canny(image)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30610671

复制
相关文章

相似问题

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