从图像中检测水平白线并使用OpenCV Python获取它们的坐标

时间:2017-07-10 12:26:09

标签: python opencv image-processing image-segmentation

我的目标是使用OpenCV Python将网页分成多个部分(标题,联系人,页脚,...)。我将网页的图像转换为灰度并使用了Canny。结果如下:

Original Image to Grayscale + Canny Result

正如你所看到的,部分的边界非常清晰,人眼可以检测到,我觉得这个问题对于OpenCV来说很少,但我无法弄清楚如何将每个部分导出到一个单独的部分文件(或至少获取行'坐标)。

这是我目前的Grayscale + Canny代码

import cv2
import numpy as np

img   = cv2.imread("image.png",cv2.IMREAD_GRAYSCALE)
edges = cv2.Canny(img, 5, 10)

3 个答案:

答案 0 :(得分:2)

使用霍夫线并检查斜率= 0 您会发现this video非常有用且有趣。

答案 1 :(得分:2)

您只需要查看图像行中的统计信息 例如,您是否沿着行查看mean强度,边界行的mean接近1.0。

答案 2 :(得分:1)

以下是获取白线的一些方法:

OpenCV' HoughLinesHoughLinesP是很好的起点。