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处理文件目录的相关方法
Oct 16 Python
python 获取页面表格数据存放到csv中的方法
Dec 26 Python
python+selenium实现QQ邮箱自动发送功能
Jan 23 Python
Python3数字求和的实例
Feb 19 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
Jun 20 Python
Python中使用双下划线防止类属性被覆盖问题
Jun 27 Python
python爬虫豆瓣网的模拟登录实现
Aug 21 Python
python-视频分帧&多帧合成视频实例
Dec 10 Python
使用matplotlib绘制图例标签中带有公式的图
Dec 13 Python
在django中form的label和verbose name的区别说明
May 20 Python
python中slice参数过长的处理方法及实例
Dec 15 Python
Python Pandas pandas.read_sql_query函数实例用法分析
Jun 21 Python
教你用Python+selenium搭建自动化测试环境
Jun 18 #Python
详解Python函数print用法
Jun 18 #Python
总结Python使用过程中的bug
简单介绍Python的第三方库yaml
Jun 18 #Python
教你如何使用Python实现二叉树结构及三种遍历
Python实现智慧校园自动评教全新版
python用海龟绘图写贪吃蛇游戏
You might like
Ping服务的php实现方法,让网站快速被收录
2012/02/04 PHP
php中使用array_filter()函数过滤空数组的实现代码
2014/08/19 PHP
PHP中常用的字符串格式化函数总结
2014/11/19 PHP
CI框架(CodeIgniter)公共模型类定义与用法示例
2017/08/10 PHP
jqPlot Option配置对象详解
2009/07/25 Javascript
js阻止默认事件与js阻止事件冒泡示例分享 js阻止冒泡事件
2014/01/27 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
js实现iframe跨页面调用函数的方法
2014/12/13 Javascript
jquery制作 随机弹跳的小球特效
2015/02/01 Javascript
jquery SweetAlert插件实现响应式提示框
2015/08/18 Javascript
javascript学习总结之js使用技巧
2015/09/02 Javascript
7个去伪存真的JavaScript面试题
2016/01/07 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
js实现文字跑马灯效果
2017/02/23 Javascript
原生JavaScript实现Tooltip浮动提示框特效
2017/03/07 Javascript
JavaScript实现类似淘宝的购物车效果
2017/03/16 Javascript
动态创建Angular组件实现popup弹窗功能
2017/09/15 Javascript
浅谈ES6 模板字符串的具体使用方法
2017/11/07 Javascript
详解如何在微信小程序开发中正确的使用vant ui组件
2018/09/13 Javascript
详解使用webpack+electron+reactJs开发windows桌面应用
2019/02/01 Javascript
JavaScript使用面向对象实现的拖拽功能详解
2019/06/12 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
2008/09/06 Python
Python常见文件操作的函数示例代码
2011/11/15 Python
wxPython框架类和面板类的使用实例
2014/09/28 Python
浅谈python中字典append 到list 后值的改变问题
2018/05/04 Python
Python Django Vue 项目创建过程详解
2019/07/29 Python
wxPython:python首选的GUI库实例分享
2019/10/05 Python
python 循环数据赋值实例
2019/12/02 Python
django-csrf使用和禁用方式
2020/03/13 Python
用python发送微信消息
2020/12/21 Python
皇家道尔顿官网:Royal Doulton
2017/12/06 全球购物
西班牙电子产品购物网站:Electronicamente
2018/07/26 全球购物
Java基础面试题
2014/07/19 面试题
餐饮收银员岗位职责
2014/02/07 职场文书
婚礼秀策划方案
2014/05/19 职场文书