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之字典,你还记得吗?
Sep 20 Python
Python描述器descriptor详解
Feb 03 Python
python中如何使用朴素贝叶斯算法
Apr 06 Python
Python实现句子翻译功能
Nov 14 Python
Django使用httpresponse返回用户头像实例代码
Jan 26 Python
Python中将dataframe转换为字典的实例
Apr 13 Python
Python Tkinter模块实现时钟功能应用示例
Jul 23 Python
Python中dict和set的用法讲解
Mar 28 Python
详解python uiautomator2 watcher的使用方法
Sep 09 Python
python global和nonlocal用法解析
Feb 03 Python
python实现logistic分类算法代码
Feb 28 Python
python实现快速文件格式批量转换的方法
Oct 16 Python
教你用Python+selenium搭建自动化测试环境
Jun 18 #Python
详解Python函数print用法
Jun 18 #Python
总结Python使用过程中的bug
简单介绍Python的第三方库yaml
Jun 18 #Python
教你如何使用Python实现二叉树结构及三种遍历
Python实现智慧校园自动评教全新版
python用海龟绘图写贪吃蛇游戏
You might like
文件上传程序的全部源码
2006/10/09 PHP
PHP开发的一些注意点总结
2010/10/12 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
2013/04/28 PHP
PHP实现的贪婪算法实例
2017/10/17 PHP
thinkphp中U方法按路由规则生成url的方法
2018/03/12 PHP
PHP APP微信提现接口代码
2018/09/30 PHP
网页中CDATA标记的说明
2010/09/12 Javascript
javascript跨域刷新实现代码
2011/01/01 Javascript
容易被忽略的JS脚本特性
2011/09/13 Javascript
JS完成代码前最好对其做5件事
2013/04/07 Javascript
从零学JSON之JSON数据结构
2014/05/19 Javascript
DOM基础教程之使用DOM + Css
2015/01/20 Javascript
js实现文字在按钮上滚动的方法
2015/08/20 Javascript
jQuery实现自动与手动切换的滚动新闻特效代码分享
2015/08/27 Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
2015/12/25 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
微信小程序实现登录页云层漂浮的动画效果
2017/05/05 Javascript
Angular模板表单校验方法详解
2017/08/11 Javascript
JS图片延迟加载插件LazyImgv1.0用法分析【附demo源码下载】
2017/09/04 Javascript
react-native 圆弧拖动进度条实现的示例代码
2018/04/12 Javascript
解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题
2020/07/27 Javascript
[42:39]老党炸弹人试玩视频
2014/09/03 DOTA
python下读取公私钥做加解密实例详解
2017/03/29 Python
Python中按值来获取指定的键
2019/03/04 Python
PyCharm 2020 激活到 2100 年的教程
2020/03/25 Python
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
Html5页面内使用JSON动画的实现
2019/01/29 HTML / CSS
八年级音乐教学反思
2014/01/09 职场文书
公务员职业生涯规划书范文  
2014/01/19 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
骨干教师培训方案
2014/05/06 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书
社会实践单位意见
2015/06/05 职场文书
python爬取豆瓣电影TOP250数据
2021/05/23 Python
游戏《铁拳》动画化!2022年年内播出
2022/03/21 日漫
Java 通过手写分布式雪花SnowFlake生成ID方法详解
2022/04/07 Java/Android