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下用于监视文件系统的pyinotify包
Nov 13 Python
Python的Django REST框架中的序列化及请求和返回
Apr 11 Python
Python实现读取并保存文件的类
May 11 Python
python实现pdf转换成word/txt纯文本文件
Jun 07 Python
理想高通滤波实现Python opencv示例
Jan 30 Python
python3 打印输出字典中特定的某个key的方法示例
Jul 06 Python
python机器学习库xgboost的使用
Jan 20 Python
浅谈在JupyterNotebook下导入自己的模块的问题
Apr 16 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
Apr 17 Python
让你相见恨晚的十个Python骚操作
Nov 18 Python
Python NumPy灰度图像的压缩原理讲解
Aug 04 Python
如何在python中实现ECDSA你知道吗
Nov 23 Python
教你用Python+selenium搭建自动化测试环境
Jun 18 #Python
详解Python函数print用法
Jun 18 #Python
总结Python使用过程中的bug
简单介绍Python的第三方库yaml
Jun 18 #Python
教你如何使用Python实现二叉树结构及三种遍历
Python实现智慧校园自动评教全新版
python用海龟绘图写贪吃蛇游戏
You might like
Windows下安装Memcached的步骤说明
2010/04/25 PHP
php版淘宝网查询商品接口代码示例
2014/06/17 PHP
ThinkPHP的I方法使用详解
2014/06/18 PHP
PHP常用的三种设计模式
2017/02/17 PHP
php记录搜索引擎爬行记录的实现代码
2018/03/02 PHP
Jquery实现遮罩层的简单实例(就是弹出DIV周围都灰色不能操作)
2016/07/14 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
清除浏览器缓存的几种方法总结(必看)
2016/12/09 Javascript
js中的触发事件对象event.srcElement与event.target详解
2017/03/15 Javascript
JS鼠标3次点击事件实现代码及扩展思路
2017/09/12 Javascript
使用JSON格式提交数据到服务端的实例代码
2018/04/01 Javascript
element-ui 设置菜单栏展开的方法
2018/08/22 Javascript
详解KOA2如何手写中间件(装饰器模式)
2018/10/11 Javascript
详解Next.js页面渲染的优化方案
2019/01/27 Javascript
vue 使用饿了么UI仿写teambition的筛选功能
2021/03/01 Vue.js
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
[46:20]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第二场 1月22日
2021/03/11 DOTA
web.py中调用文件夹内模板的方法
2014/08/26 Python
在windows下快速搭建web.py开发框架方法
2016/04/22 Python
深入理解Python变量与常量
2016/06/02 Python
Django model反向关联名称的方法
2018/12/15 Python
python用插值法绘制平滑曲线
2021/02/19 Python
Python实现Mysql数据统计及numpy统计函数
2019/07/15 Python
python Tornado框架的使用示例
2020/10/19 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
2020/11/28 Python
利用CSS3实现平移动画效果示例代码
2016/10/12 HTML / CSS
俄罗斯电动工具和设备购物网站:Vseinstrumenti.ru
2020/11/12 全球购物
员工工作表现评语
2014/04/26 职场文书
营销团队口号
2014/06/06 职场文书
物流专业专科生职业生涯规划书
2014/09/14 职场文书
2014年四风问题个人对照自查剖析材料
2014/09/15 职场文书
锅炉工岗位职责
2015/02/13 职场文书
2015秋季幼儿园开学寄语
2015/03/25 职场文书
2019年12月24日平安夜祝福语集锦
2019/12/24 职场文书
完美处理python与anaconda环境变量的冲突问题
2021/04/07 Python
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL