Canny 边缘检测器出现问题 - 返回黑色图像

Gre*_*reg 4 python computer-vision scikit-image canny-operator

我正在尝试在此图像上运行精明的边缘检测器:

在此输入图像描述

有了这个代码:

def edges(img):
    from skimage import feature
    img = Image.open(img)
    img.convert('L')
    array = np.array(img)    
    out = feature.canny(array, sigma=1, )
    return Image.fromarray(out,'L')

edges('Q_3.jpg').save('Q_3_edges.jpg')
Run Code Online (Sandbox Code Playgroud)

但我只是得到一张黑色图像。有什么想法我可能做错了什么吗?我尝试了 1 和 3 的西格玛。

在此输入图像描述

小智 5

我有同样的情况,这对我有帮助。在使用 Canny 过滤器之前,只需将图像数组的元素转换为 float32 类型:

array = np.array(img)
array = array.astype('float32')    
out = feature.canny(array, sigma=1, )
Run Code Online (Sandbox Code Playgroud)