查找图像边缘

时间:2016-09-25 10:58:47

标签: python algorithm python-2.7 numpy image-processing

我有软件可生成多个图像,如以下四个图像:

image 01

image 02

image 03

image 04

是否存在检测(水平和垂直)边缘并创建这样的二进制输出的算法?

enter image description here

如果可能,我想通过numpyscipy来实施此功能。我已经尝试过实现算法,但是我失败了,因为我找不到起点。我也尝试使用神经网络来做到这一点,但这似乎被制服了并且不能很好地工作。

1 个答案:

答案 0 :(得分:1)

最简单的尝试是:

  • 将图像转换为二进制图像(通过简单的阈值)
  • 应用Hough变换(OpenCV,Matlab已经实现)
  • 在霍夫变换结果中,检测角度0度,+和-90度的峰值。 (垂直和水平线)

在OpenCV和Matlab中,你有额外的Hough变换选项,可以填补属于同一条直线的两个断开的段之间的间隙。您可能需要一些额外的操作来对结果进行后处理,但主要步骤应该是这些。