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制作简单的朴素基数估计器的教程
Apr 01 Python
使用Python脚本将绝对url替换为相对url的教程
Apr 24 Python
在IIS服务器上以CGI方式运行Python脚本的教程
Apr 25 Python
使用Python设计一个代码统计工具
Apr 04 Python
VSCode下好用的Python插件及配置
Apr 06 Python
PyQt实现界面翻转切换效果
Apr 20 Python
对numpy中的数组条件筛选功能详解
Jul 02 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
Aug 07 Python
Ubuntu下Python2与Python3的共存问题
Oct 31 Python
python3+selenium实现qq邮箱登陆并发送邮件功能
Jan 23 Python
50行Python代码获取高考志愿信息的实现方法
Jul 23 Python
python GUI库图形界面开发之PyQt5滑块条控件QSlider详细使用方法与实例
Feb 28 Python
教你用Python+selenium搭建自动化测试环境
Jun 18 #Python
详解Python函数print用法
Jun 18 #Python
总结Python使用过程中的bug
简单介绍Python的第三方库yaml
Jun 18 #Python
教你如何使用Python实现二叉树结构及三种遍历
Python实现智慧校园自动评教全新版
python用海龟绘图写贪吃蛇游戏
You might like
用libTemplate实现静态网页的生成
2006/10/09 PHP
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
2013/06/05 PHP
解析php中如何调用用户自定义函数
2013/08/06 PHP
PHP的APC模块实现上传进度条
2015/10/27 PHP
PHPExcel简单读取excel文件示例
2016/05/26 PHP
PHP分页初探 一个最简单的PHP分页代码的简单实现
2016/06/21 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
PHP curl批处理及多请求并发实现方法分析
2018/08/15 PHP
PHP结合Ffmpeg快速搭建流媒体服务的实践记录
2018/10/31 PHP
javascript常见用法总结
2014/05/22 Javascript
javascript实例分享---具有立体效果的图片特效
2014/06/08 Javascript
javascript实现实时输出当前的时间
2015/04/27 Javascript
jQuery EasyUi实战教程之布局篇
2016/01/26 Javascript
BootStrap智能表单实战系列(九)表单图片上传的支持
2016/06/13 Javascript
浅谈jQuery中事情的动态绑定
2017/02/12 Javascript
svg动画之动态描边效果
2017/02/22 Javascript
80%应聘者都不及格的JS面试题
2017/03/21 Javascript
vscode下vue项目中eslint的使用方法
2019/01/13 Javascript
vue中keep-alive内置组件缓存的实例代码
2020/04/16 Javascript
vue动画—通过钩子函数实现半场动画操作
2020/08/09 Javascript
Python时区设置方法与pytz查询时区教程
2013/11/27 Python
python3爬虫获取html内容及各属性值的方法
2018/12/17 Python
pytorch中nn.Conv1d的用法详解
2019/12/31 Python
如何基于Python + requests实现发送HTTP请求
2020/01/13 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
2020/06/15 Python
PyTorch-GPU加速实例
2020/06/23 Python
python接入支付宝的实例操作
2020/07/20 Python
Python中正则表达式对单个字符,多个字符和匹配边界等使用
2021/01/27 Python
html5.2 dialog简介详解
2018/02/27 HTML / CSS
美国珠宝精品店:Opulent Jewelers
2019/08/20 全球购物
武汉英思工程科技有限公司–ORACLE面试测试题目
2012/04/30 面试题
司机岗位职责
2013/11/15 职场文书
大学生的四年学习自我评价
2013/12/13 职场文书
酒店总经理助理职责
2014/02/12 职场文书
供货协议书
2014/04/22 职场文书
Keras多线程机制与flask多线程冲突的解决方案
2021/05/28 Python