百度网站是怎么建设的惠安网站建设
- 作者: 五速梦信息网
- 时间: 2026年03月21日 10:03
当前位置: 首页 > news >正文
百度网站是怎么建设的,惠安网站建设,购物网站建设思路,自建网站 做自定义导航OpenCV入门#xff08;十八#xff09;快速学会OpenCV 17 直线检测1.霍夫直线变换概述2.霍夫变换原理3.操作实例3.1 HoughLines函数3.2 HoughLinesP函数作者#xff1a;Xiou 1.霍夫直线变换概述 霍夫变换是一种在图像中寻找直线、圆形以及其他简单形状的方法。霍夫变换采用… OpenCV入门十八快速学会OpenCV 17 直线检测1.霍夫直线变换概述2.霍夫变换原理3.操作实例3.1 HoughLines函数3.2 HoughLinesP函数作者Xiou 1.霍夫直线变换概述 霍夫变换是一种在图像中寻找直线、圆形以及其他简单形状的方法。霍夫变换采用类似于投票的方式来获取当前图像内的形状集合该变换由Paul Hough霍夫于1962年首次提出。最初的霍夫变换只能用于检测直线经过发展后霍夫变换不仅能够识别直线还能识别其他简单的图形结构常见的有圆、椭圆等。 霍夫直线变换用来在图像内寻找直线在OpenCV中可以用函数cv2.HoughLines()和函数cv2.HoughLinesP()实现。 霍夫变换 (Hough Line Transform) 是图像处理中的一种特征提取技术. 通过平面空间到极值坐标空间的转换, 可以帮助我们实现直线检测。 2.霍夫变换原理 为了方便说明问题先以我们熟悉的笛卡儿坐标系与笛卡儿空间对应为例来说明霍夫变换的基本原理。与笛卡儿坐标系对应我们构造一个霍夫坐标系对应于霍夫空间。在霍夫坐标系中横坐标采用笛卡儿坐标系中直线的斜率k纵坐标使用笛卡儿坐标系中直线的截距b。 首先我们观察笛卡儿空间中的一条直线在霍夫空间内的映射情况。例如在图16-1中左图是笛卡儿x-y坐标系笛卡儿空间右图是霍夫k-b坐标系霍夫空间。在笛卡儿空间中存在着一条直线yk0xb0该直线的截距k0是已知的常量截距b0也是已知的常量。将该直线映射到霍夫空间内找到已知的点k0, b0即完成映射。 从上述分析中可知笛卡儿空间内的一条直线其斜率为k截距为b映射到霍夫空间内成为一个点(k, b)。或者可以这样理解霍夫空间内的一个点k0, b0映射到笛卡儿空间就是一条直线yk0xb0。 当我们把直线 y kx b 画在指标坐标系上, 如下图. 我们再从原点引线段到直线上的任一点。 我们可以得到这条线段与 x 轴的夹角为 θ, 距离是 r. 对于直线上的任一点 (x0, y0), 我们可以得到公式: 综上所述在霍夫空间内经过一个点的直线越多说明其在笛卡儿空间内映射的直线是由越多的点所构成穿过的。我们知道两个点就能构成一条直线。但是如果有一个点是因为计算错误而产生的那么它和另外一个点也会构成一条直线此时就会凭空构造出一条实际上并不存在的直线。这种情况是要极力避免的。因此在计算中我们希望用更多的点构造一条直线以提高直线的可靠性。也就是说如果一条直线是由越多点所构成的那么它实际存在的可能性就越大它的可靠性也就越高。因此霍夫变换选择直线的基本思路是选择有尽可能多直线交汇的点。 3.操作实例 3.1 HoughLines函数 OpenCV提供了函数cv2.HoughLines()用来实现霍夫直线变换该函数要求所操作的源图像是一个二值图像所以在进行霍夫变换之前要先将源图像进行二值化或者进行Canny边缘检测。 函数cv2.HoughLines()的语法格式为 linescv2.HoughLines(image, rho, theta, threshold)式中 ● image是输入图像即源图像必须是8位的单通道二值图像。如果是其他类型的图像在进行霍夫变换之前需要将其修改为指定格式。 ● rho为以像素为单位的距离r的精度。一般情况下使用的精度是1。 ● theta为角度θ的精度。一般情况下使用的精度是π/180表示要搜索所有可能的角度。 ● threshold是阈值。该值越小判定出的直线就越多。通过上一节的分析可知识别直线时要判定有多少个点位于该直线上。在判定直线是否存在时对直线所穿过的点的数量进行评估如果直线所穿过的点的数量小于阈值则认为这些点恰好偶然在算法上构成直线但是在源图像中该直线并不存在如果大于阈值则认为直线存在。所以如果阈值较小就会得到较多的直线阈值较大就会得到较少的直线。 ● 返回值lines中的每个元素都是一对浮点数表示检测到的直线的参数即(r, θ)是numpy.ndarray类型。 有一点需要强调的是使用函数cv2.HoughLines()检测到的是图像中的直线而不是线段因此检测到的直线是没有端点的。所以我们在进行霍夫直线变换时所绘制的直线都是穿过整幅图像的。 代码实例 import cv2 import numpy as np import matplotlib.pyplot as plt #读取图像 img cv2.imread(tes.jpg)
转换成灰度图
gray cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
边缘检测, Sobel算子大小为3
edges cv2.Canny(gray, 50, 150, apertureSize3) orgb cv2.cvtColor(img, cv2.COLOR_BGR2RGB) oShow orgb.copy()
霍夫曼直线检测
lines cv2.HoughLines(edges, 1, np.pi / 180, 140)#遍历 for line in lines:# 获取rho和thetarho, theta line[0]a np.cos(theta)b np.sin(theta)x0 a * rhoy0 b * rhox1 int(x0 1000 * (-b))y1 int(y0 1000 * (a))x2 int(x0 - 1000 * (-b))y2 int(y0 - 1000 * (a))cv2.line(orgb, (x1, y1), (x2, y2), (0, 0, 255), 2) #展示 plt.subplot(121) plt.imshow(oShow) plt.axis(off) plt.subplot(122) plt.imshow(orgb) plt.axis(off)输出结果 3.2 HoughLinesP函数 OpenCV提供了函数cv2.HoughLines()用来实现霍夫直线变换此函数在 HoughLines 的基础上末尾加了一个代表概率 (Probabilistic) 的 P, 表明它可以采用累计概率霍夫变换, 来找出二值图像中的直线。 该函数要求所操作的源图像是一个二值图像所以在进行霍夫变换之前要先将源图像进行二值化或者进行Canny边缘检测。函数cv2.HoughLinesP()的语法格式为 linescv2.HoughLinesP(image, rho, theta, threshold)参数: image: 输入图像 rho: 线性搜索半径步长, 以像素为单位 theta: 线性搜索步长, 以弧度为单位 threshold: 累计阈值 minLineLength: 最短直线长度 maxLineGap: 最大孔隙距离 代码实例 import numpy as np import cv2 from matplotlib import pyplot as plt# 读取图片 image cv2.imread(tes.jpg) image_copy image.copy()# 转换成灰度图 image_gray cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 边缘检测, Sobel算子大小为3 edges cv2.Canny(image_gray, 170, 220, apertureSize3)# 霍夫曼直线检测 lines cv2.HoughLinesP(edges, 1, np.pi / 180, 100, minLineLength100, maxLineGap10)# 遍历 for line in lines:# 获取坐标x1, y1, x2, y2 line[0]cv2.line(image_copy, (x1, y1), (x2, y2), (0, 0, 255), thickness5)# 图片展示 f, ax plt.subplots(2, 2, figsize(12, 12))# 子图 ax[0, 0].imshow(cv2.cvtColor(image, cv2.COLOR_BGR2RGB)) ax[0, 1].imshow(image_gray, gray) ax[1, 0].imshow(edges, gray) ax[1, 1].imshow(cv2.cvtColor(image_copy, cv2.COLOR_BGR2RGB))# 标题 ax[0, 0].set_title(original) ax[0, 1].set_title(image gray) ax[1, 0].set_title(image edge) ax[1, 1].set_title(image line)plt.show() 输出结果
- 上一篇: 百度网站认证v1大连企业建设网站
- 下一篇: 百度网站统计添加网址专门做丝印反查的收费网站
相关文章
-
百度网站认证v1大连企业建设网站
百度网站认证v1大连企业建设网站
- 技术栈
- 2026年03月21日
-
百度网站排名搜行者seo用rem做移动网站
百度网站排名搜行者seo用rem做移动网站
- 技术栈
- 2026年03月21日
-
百度网站排名规则漯河最新今天的消息
百度网站排名规则漯河最新今天的消息
- 技术栈
- 2026年03月21日
-
百度网站统计添加网址专门做丝印反查的收费网站
百度网站统计添加网址专门做丝印反查的收费网站
- 技术栈
- 2026年03月21日
-
百度网站推广网络南阳网站建设哪家专业
百度网站推广网络南阳网站建设哪家专业
- 技术栈
- 2026年03月21日
-
百度网站网址是多少wordpress 漏洞
百度网站网址是多少wordpress 漏洞
- 技术栈
- 2026年03月21日






