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中使用tarfile压缩、解压tar归档文件示例
Apr 05 Python
python-str,list,set间的转换实例
Jun 27 Python
用Python将mysql数据导出成json的方法
Aug 21 Python
python 实现批量xls文件转csv文件的方法
Oct 23 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
Mar 30 Python
python调用c++返回带成员指针的类指针实例
Dec 12 Python
pytorch 实现tensor与numpy数组转换
Dec 27 Python
Tensorflow实现在训练好的模型上进行测试
Jan 20 Python
Scrapy框架实现的登录网站操作示例
Feb 06 Python
详解Django ORM引发的数据库N+1性能问题
Oct 12 Python
Python基于unittest实现测试用例执行
Nov 25 Python
Python如何快速找到多个字典中的公共键(key)
Apr 29 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学习笔记之面向对象编程
2012/12/29 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
PHP实现的迷你漂流瓶
2015/07/29 PHP
浏览器脚本兼容 文本框中,回车键触发事件的兼容
2010/06/21 Javascript
Firebug入门指南(Firefox浏览器)
2010/08/21 Javascript
jquery判断浏览器类型的代码
2012/11/05 Javascript
jquery easyui combox一些实用的小方法
2013/12/25 Javascript
Javascript 按位与运算符 (&)使用介绍
2014/02/04 Javascript
我的Node.js学习之路(四)--单元测试
2014/07/06 Javascript
深入学习JavaScript对象
2015/10/13 Javascript
JS & JQuery 动态添加 select option
2016/06/08 Javascript
jQuery实现的纵向下拉菜单实例详解【附demo源码下载】
2016/07/09 Javascript
简单实现Vue的observer和watcher
2016/12/21 Javascript
jQuery实现Table表格隔行变色及高亮显示当前选择行效果示例
2017/02/14 Javascript
利用JavaScript实现栈的数据结构示例代码
2017/08/02 Javascript
js删除数组中的元素delete和splice的区别详解
2018/02/03 Javascript
Angular 容器部署的方法
2018/04/17 Javascript
详解Vue.js v-for不支持IE9的解决方法
2018/12/29 Javascript
通过javascript实现段落的收缩与展开
2019/06/26 Javascript
vue框架制作购物车小球动画效果实例代码
2019/09/26 Javascript
vue中使用rem布局代码详解
2019/10/30 Javascript
使用PDB模式调试Python程序介绍
2015/04/05 Python
Python实现豆瓣图片下载的方法
2015/05/25 Python
Python扫描IP段查看指定端口是否开放的方法
2015/06/09 Python
python实现linux下使用xcopy的方法
2015/06/28 Python
Python实现矩阵加法和乘法的方法分析
2017/12/19 Python
解决python3 Pycharm上连接数据库时报错的问题
2018/12/03 Python
PyQt5根据控件Id获取控件对象的方法
2019/06/25 Python
python3 selenium自动化 下拉框定位的例子
2019/08/23 Python
巧用CSS3的calc()宽度计算做响应模式布局的方法
2018/03/22 HTML / CSS
html5超简单的localStorage实现记住密码的功能实现
2017/09/07 HTML / CSS
瑞典时尚服装购物网站:Miinto.se
2017/10/30 全球购物
党员群众路线教育实践活动学习笔记
2014/11/05 职场文书
2014预防青少年违法犯罪工作总结
2014/12/10 职场文书
副总经理岗位职责
2015/02/02 职场文书
土木工程生产实习心得体会
2016/01/22 职场文书