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

Python边缘检测和曲率计算

共 3 个回答
高赞
时间
活跃
0

0

您可以使用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)
这是原始图像和边缘检测后图像的示例。
在scikit-image中,有一个特殊页面,其中包含有关如何进行边缘检测的说明。
0

有一种非常简单的方法可以使用scikit图像在python中找到轮廓。它实际上只是几行代码,如下所示:
from skimage import measure
contours = measure.find_contours(gimg, 0.8)
这将返回轮廓线的矢量表示。在每行单独的数组中。而且,通过计算近似值来减少一条线上的点数也很容易。这是带有源代码的较长描述: 使用python进行图像矢量化
新手导航
- 社区规范
- 提出问题
- 进行投票
- 个人资料
- 优化问题
- 回答问题
0
我知道之前已经发布了边缘检测问题(在Java中: 计算Image中的对象数 ,独立于语言: Image edge detection ),但是我想知道如何在python中实现它。
我正在对一些简单形状(带有一些噪声的二进制形状)进行边缘检测和曲率计算。我知道有一些OpenCV的包装器,但不确定哪个更好:pyopencv,pycv,pycvf?
由于我基本上只完成这两项任务,因此我也不确定是否自己实现而不是使用库会更快。