python opencv检测直线 cv2.HoughLinesP的实现


Posted in Python onJune 18, 2021

cv2.HoughLines()函数是在二值图像中查找直线,cv2.HoughLinesP()函数可以查找直线段。

cv2.HoughLinesP()函数原型:

HoughLinesP(image, rho, theta, threshold, lines=None, minLineLength=None, maxLineGap=None)
  • image: 必须是二值图像,推荐使用canny边缘检测的结果图像; 
  • rho: 线段以像素为单位的距离精度,double类型的,推荐用1.0 
  • theta: 线段以弧度为单位的角度精度,推荐用numpy.pi/180 
  • threshod: 累加平面的阈值参数,int类型,超过设定阈值才被检测出线段,值越大,基本上意味着检出的线段越长,检出的线段个数越少。根据情况推荐先用100试试
  • lines:这个参数的意义未知,发现不同的lines对结果没影响,但是不要忽略了它的存在 
  • minLineLength:线段以像素为单位的最小长度,根据应用场景设置 
  • maxLineGap:同一方向上两条线段判定为一条线段的最大允许间隔(断裂),超过了设定值,则把两条线段当成一条线段,值越大,允许线段上的断裂越大,越有可能检出潜在的直线段

HoughLinesP()调用例子:

# coding=utf-8
import cv2
import numpy as np
 
img = cv2.imread('02.jpg')
 
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
 
gaus = cv2.GaussianBlur(gray,(3,3),0)
 
edges = cv2.Canny(gaus, 50, 150, apertureSize=3)
 
minLineLength = 100
maxLineGap = 10
lines = cv2.HoughLinesP(edges, 1, np.pi / 180, 100, minLineLength, maxLineGap)
 
for x1, y1, x2, y2 in lines[0]:
    cv2.line(img, (x1, y1), (x2, y2), (0, 255, 0), 2)
 
cv2.imshow("houghline",img)
cv2.waitKey()
cv2.destroyAllWindows()

到此这篇关于python opencv检测直线 cv2.HoughLinesP的实现的文章就介绍到这了,更多相关opencv检测直线cv2.HoughLinesP内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python 获取et和excel的版本号
Apr 09 Python
Python简单日志处理类分享
Feb 14 Python
Python实现命令行通讯录实例教程
Aug 18 Python
python基础教程之匿名函数lambda
Jan 17 Python
python中logging包的使用总结
Feb 28 Python
python numpy 显示图像阵列的实例
Jul 02 Python
浅谈python str.format与制表符\t关于中文对齐的细节问题
Jan 14 Python
Python实现蒙特卡洛算法小实验过程详解
Jul 12 Python
python数据库操作mysql:pymysql、sqlalchemy常见用法详解
Mar 30 Python
使用npy转image图像并保存的实例
Jul 01 Python
用python制作个音乐下载器
Jan 30 Python
Python爬虫基础初探selenium
May 31 Python
教你用Python+selenium搭建自动化测试环境
Jun 18 #Python
详解Python函数print用法
Jun 18 #Python
总结Python使用过程中的bug
简单介绍Python的第三方库yaml
Jun 18 #Python
教你如何使用Python实现二叉树结构及三种遍历
Python实现智慧校园自动评教全新版
python用海龟绘图写贪吃蛇游戏
You might like
PHP面向对象分析设计的经验原则
2008/09/20 PHP
PHP排序算法之堆排序(Heap Sort)实例详解
2018/04/21 PHP
JavaScript中判断函数是new还是()调用的区别说明
2011/04/07 Javascript
jquery中通过过滤器获取表单元素的实现代码
2011/07/05 Javascript
深入理解JavaScript系列(14) 作用域链介绍(Scope Chain)
2012/04/12 Javascript
关于js new Date() 出现NaN 的分析
2012/10/23 Javascript
使用简洁的jQuery方法实现隔行换色功能
2014/01/02 Javascript
详解JavaScript中void语句的使用
2015/06/04 Javascript
jQuery给div,Span, a ,button, radio 赋值与取值
2016/06/24 Javascript
详解JavaScript中this的指向问题
2017/01/20 Javascript
jQuery实现给input绑定回车事件的方法
2017/02/09 Javascript
微信小程序实现登录页云层漂浮的动画效果
2017/05/05 Javascript
Ionic3 UI组件之Gallery Modal详解
2017/06/07 Javascript
JS使用ActiveXObject实现用户提交表单时屏蔽敏感词功能
2017/06/20 Javascript
详解VueJS 数据驱动和依赖追踪分析
2017/07/26 Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
2018/03/21 Javascript
JavaScript命令模式原理与用法实例详解
2020/03/10 Javascript
JS Web Flex弹性盒子模型代码实例
2020/03/10 Javascript
使用C语言来扩展Python程序和Zope服务器的教程
2015/04/14 Python
Python实现各种排序算法的代码示例总结
2015/12/11 Python
java中两个byte数组实现合并的示例
2018/05/09 Python
3个用于数据科学的顶级Python库
2018/09/29 Python
python读取并写入mat文件的方法
2019/07/12 Python
简单了解Python3里的一些新特性
2019/07/13 Python
JAVA SWT事件四种写法实例解析
2020/06/05 Python
python的help函数如何使用
2020/06/11 Python
keras导入weights方式
2020/06/12 Python
python安装第三方库如xlrd的方法
2020/10/31 Python
Django vue前后端分离整合过程解析
2020/11/20 Python
学习经验演讲稿
2014/05/10 职场文书
电钳工人个人求职信
2014/05/10 职场文书
感恩节活动策划方案
2014/05/16 职场文书
缓刑期间思想汇报范文
2014/10/10 职场文书
大雁塔导游词
2015/02/04 职场文书
省级三好学生主要事迹材料
2015/11/03 职场文书
幼儿园中班教学反思
2016/03/03 职场文书