Python边缘检测和曲率计算

clw*_*wen 10 python image-processing computer-vision

我知道之前已发布边缘检测问题(在Java中:计算图像中的对象数,与语言无关:图像边缘检测),但我想知道如何在python中实现它.

我在一些简单的形状(带有一些噪声的二进制形状)上围绕边缘进行边缘检测和曲率计算.我知道OpenCV有一些包装,但不确定哪一个更好:pyopencv,pycv,pycvf?

由于我基本上只做这两项任务,所以我也不确定自己实现它而不是使用库是否会更快.

Ste*_*alt 13

我们在积极开发的分段和边缘检测算法中scikit-image您可能会发现它们非常有用:

Scikit图像示例


Sal*_*ali 6

您可以使用python中的scipy轻松实现边缘检测.

from scipy import ndimage
edge_horizont = ndimage.sobel(greyscale, 0)
edge_vertical = ndimage.sobel(greyscale, 1)
magnitude = np.hypot(edge_horizont, edge_vertical)
Run Code Online (Sandbox Code Playgroud)

这是原始图像和边缘检测后的图像的示例. 在此输入图像描述

在scikit-image中,有一个特殊页面,其中说明了如何进行边缘检测.