Python边缘检测和曲率计算
computer-vision
image-processing
python
5
0

我知道之前已经发布了边缘检测问题(在Java中: 计算Image中的对象数 ,独立语言: Image edge detection ),但是我想知道如何在python中实现它。

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

由于我基本上只完成这两项任务,因此我也不确定是否自己实现而不是使用库会更快。

参考资料:
Stack Overflow
收藏
评论
共 3 个回答
高赞 时间 活跃

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

Scikit图片示例

收藏
评论

您可以使用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中,有一个特殊页面,其中包含有关如何进行边缘检测的说明。

收藏
评论

有一种非常简单的方法可以使用scikit图像在python中找到轮廓。它实际上只是几行代码,如下所示:

    from skimage import measure
    contours = measure.find_contours(gimg, 0.8)

这将返回轮廓线的矢量表示。在每行单独的数组中。而且,通过计算近似值来减少一条线上的点数也很容易。这是带有源代码的较长描述: 使用python进行图像矢量化

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号