Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检测图像中的水平白线,并使用OpenCV Python获取它们的坐标_Python_Opencv_Image Processing_Image Segmentation - Fatal编程技术网

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

检测图像中的水平白线,并使用OpenCV Python获取它们的坐标,python,opencv,image-processing,image-segmentation,Python,Opencv,Image Processing,Image Segmentation,我的目标是使用OpenCV Python将网页分成多个部分(页眉、联系人、页脚等)。我将网页图像转换为灰度,并使用Canny。结果如下: 正如您所看到的,要用人眼检测零件的边界非常清晰,我认为这个问题对于OpenCV来说很小,但我不知道如何将每个零件导出到单独的文件中(或者至少获取线条的坐标) 这是我当前的灰度+Canny代码 import cv2 import numpy as np img = cv2.imread("image.png",cv2.IMREAD_GRAYSCALE)

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

正如您所看到的,要用人眼检测零件的边界非常清晰,我认为这个问题对于OpenCV来说很小,但我不知道如何将每个零件导出到单独的文件中(或者至少获取线条的坐标)

这是我当前的灰度+Canny代码

import cv2
import numpy as np

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

使用霍夫线并检查坡度是否为0。你会发现非常有用和有趣。

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


OpenCV的
HoughLines
HoughLinesP
是很好的起点。

您只需查看图像行的统计信息。

例如,如果您查看沿行的
平均值
强度,边界行的
平均值
接近1.0。

谢谢您的回答。研究这些主题:)如果有帮助,别忘了将这个答案标记为已接受,以便将来能帮助其他人@Điềnbaáquan如果我这么愚蠢,请原谅我,但我怎么能得到这些“统计数据”?:)@ĐiềnBáQuan平均值->也称为平均值。换句话说,将一行中的所有像素相加,除以宽度(一行中的像素数),得到一个介于0-255之间的值(如果有浮点或双精度,则为0-1.0),白色水平线的值应接近255(或1.0),因为大多数值都是白色的。非常感谢!我已经实现了我的目标。:)@ĐiềnBáQuan请不要在这里使用“愚蠢”一词:你正在做很好的图像处理工作。你绝对不傻。