从图像中检测水平白线并使用 OpenCV 获取它们的坐标 Python
Detect horizontal white lines from image and get their coordinates with OpenCV Python
我的目标是使用 OpenCV Python 将网页分成多个部分(页眉、联系人、页脚...)。我将网页的图像转换为灰度并使用了 Canny。结果如下:
如你所见,零件的边界用人眼可以检测到,我认为这个问题对于OpenCV来说很少,但我不知道如何将每个零件导出到一个单独的文件(或至少获取线条的坐标)。
这是我当前的 Grayscale + Canny 代码
import cv2
import numpy as np
img = cv2.imread("image.png",cv2.IMREAD_GRAYSCALE)
edges = cv2.Canny(img, 5, 10)
使用 Hough 线并检查 slope = 0
。您会发现 this YouTube video 非常有帮助和有趣。
这里有一些获取白线的方法:
- Hough lines
- Morphology
OpenCV 的 HoughLines
和 HoughLinesP
是很好的起点。
您只需查看图像行的统计数据即可。
例如,如果您查看沿行的 mean
强度,边界行的 mean
接近 1.0。
我的目标是使用 OpenCV Python 将网页分成多个部分(页眉、联系人、页脚...)。我将网页的图像转换为灰度并使用了 Canny。结果如下:
如你所见,零件的边界用人眼可以检测到,我认为这个问题对于OpenCV来说很少,但我不知道如何将每个零件导出到一个单独的文件(或至少获取线条的坐标)。
这是我当前的 Grayscale + Canny 代码
import cv2
import numpy as np
img = cv2.imread("image.png",cv2.IMREAD_GRAYSCALE)
edges = cv2.Canny(img, 5, 10)
使用 Hough 线并检查 slope = 0
。您会发现 this YouTube video 非常有帮助和有趣。
这里有一些获取白线的方法:
- Hough lines
- Morphology
OpenCV 的 HoughLines
和 HoughLinesP
是很好的起点。
您只需查看图像行的统计数据即可。
例如,如果您查看沿行的 mean
强度,边界行的 mean
接近 1.0。