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协程用法实例分析
Jun 04 Python
python 实现网上商城,转账,存取款等功能的信用卡系统
Jul 15 Python
Linux 下 Python 实现按任意键退出的实现方法
Sep 25 Python
python实现人脸识别经典算法(一) 特征脸法
Mar 13 Python
python通过微信发送邮件实现电脑关机
Jun 20 Python
Python函数参数操作详解
Aug 03 Python
Python字符串内置函数功能与用法总结
Apr 16 Python
python tkinter库实现气泡屏保和锁屏
Jul 29 Python
python实现通过flask和前端进行数据收发
Aug 22 Python
Python面向对象之Web静态服务器
Sep 03 Python
python 有效的括号的实现代码示例
Nov 11 Python
python实现Thrift服务端的方法
Apr 20 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笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
php计划任务之ignore_user_abort函数实现方法
2015/01/08 PHP
php实现四舍五入的方法小结
2015/03/03 PHP
php ajax实现文件上传进度条
2016/03/29 PHP
深入领悟JavaScript中的面向对象
2013/11/18 Javascript
js中生成map对象的方法
2014/01/09 Javascript
js弹出确认是否删除对话框
2014/03/27 Javascript
js实现jquery的offset()方法实例
2015/01/10 Javascript
JS实现很酷的水波文字特效实例
2015/02/26 Javascript
jQuery解决input超多的表单提交
2015/08/10 Javascript
如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)
2015/10/29 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
2016/05/18 Javascript
angularjs2中父子组件的数据传递的实例代码
2017/07/05 Javascript
JS 验证码功能的三种实现方式
2018/11/26 Javascript
详解Vue-Router源码分析路由实现原理
2019/05/15 Javascript
详解vue 中 scoped 样式作用域的规则
2020/09/14 Javascript
Vue单页面应用中实现Markdown渲染
2021/02/14 Vue.js
Google开源的Python格式化工具YAPF的安装和使用教程
2016/05/31 Python
Django 生成登陆验证码代码分享
2017/12/12 Python
windows下Virtualenvwrapper安装教程
2017/12/13 Python
基于scrapy的redis安装和配置方法
2018/06/13 Python
用Python shell简化开发
2018/08/08 Python
使用Python和Scribus创建一个RGB立方体的方法
2019/07/17 Python
python深copy和浅copy区别对比解析
2019/12/26 Python
Python发送手机动态验证码代码实例
2020/02/28 Python
Python日志logging模块功能与用法详解
2020/04/09 Python
联想墨西哥官方网站:Lenovo墨西哥
2016/08/17 全球购物
特步官方商城:Xtep
2017/03/21 全球购物
运动鞋、街头服装、手表和手袋的实时市场:StockX
2020/11/25 全球购物
static全局变量与普通的全局变量有什么区别
2014/05/27 面试题
超市端午节活动方案
2014/01/23 职场文书
竞选体育委员演讲稿
2014/04/26 职场文书
公司禁烟通知
2015/04/23 职场文书
因个人工作失误检讨书
2019/06/21 职场文书
五年级作文之劳动作文
2019/11/12 职场文书
HTML基础详解(上)
2021/10/16 HTML / CSS