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实现系统状态监测和故障转移实例方法
Nov 18 Python
Python的Flask框架及Nginx实现静态文件访问限制功能
Jun 27 Python
python开发利器之ulipad的使用实践
Mar 16 Python
浅析PHP与Python进行数据交互
May 15 Python
python 给DataFrame增加index行名和columns列名的实现方法
Jun 08 Python
python中csv文件的若干读写方法小结
Jul 04 Python
如何使用django的MTV开发模式返回一个网页
Jul 22 Python
Django 用户认证组件使用详解
Jul 23 Python
基于python-pptx库中文文档及使用详解
Feb 14 Python
Python脚本破解压缩文件口令实例教程(zipfile)
Jun 14 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
Aug 17 Python
Python使用OpenCV和K-Means聚类对毕业照进行图像分割
Jun 11 Python
教你用Python+selenium搭建自动化测试环境
Jun 18 #Python
详解Python函数print用法
Jun 18 #Python
总结Python使用过程中的bug
简单介绍Python的第三方库yaml
Jun 18 #Python
教你如何使用Python实现二叉树结构及三种遍历
Python实现智慧校园自动评教全新版
python用海龟绘图写贪吃蛇游戏
You might like
re0第二季蕾姆被制作组打入冷宫!艾米莉亚女主扶正,原因唏嘘
2020/04/02 日漫
随机头像PHP版
2006/10/09 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
2012/07/16 PHP
php strrpos()与strripos()函数
2013/08/31 PHP
PHP实现XML与数据格式进行转换类实例
2015/07/29 PHP
简单谈谈PHP中的Reload操作
2016/12/12 PHP
php删除一个路径下的所有文件夹和文件的方法
2018/02/07 PHP
laravel 创建命令行命令的图文教程
2019/10/23 PHP
去除链接虚线全面分析总结
2006/08/15 Javascript
JavaScript面向对象编程
2008/03/02 Javascript
使用CSS和jQuery模拟select并附提交后取得数据的代码
2013/10/18 Javascript
javascript数组输出的两种方式
2015/01/13 Javascript
jQuery ajax分页插件实例代码
2016/01/27 Javascript
JS中JSON对象和String之间的互转及处理技巧
2016/04/06 Javascript
Vue常用指令详解分析
2018/08/19 Javascript
JS选取DOM元素常见操作方法实例分析
2018/12/10 Javascript
vue+iview实现文件上传
2020/11/17 Vue.js
[53:13]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-GAMING
2014/05/22 DOTA
python使用递归解决全排列数字示例
2014/02/11 Python
10款最好的Web开发的 Python 框架
2015/03/18 Python
Python简单定义与使用字典dict的方法示例
2017/07/25 Python
浅谈python for循环的巧妙运用(迭代、列表生成式)
2017/09/26 Python
Centos下实现安装Python3.6和Python2共存
2018/08/15 Python
python 弹窗提示警告框MessageBox的实例
2019/06/18 Python
Python爬虫实现使用beautifulSoup4爬取名言网功能案例
2019/09/15 Python
Python 复平面绘图实例
2019/11/21 Python
opencv3/C++图像像素操作详解
2019/12/10 Python
Python字符串中删除特定字符的方法
2020/01/15 Python
Django-celery-beat动态添加周期性任务实现过程解析
2020/11/26 Python
颇特女士:NET-A-PORTER(直邮中国)
2020/07/11 全球购物
Java平台和其他软件平台有什么不同
2015/06/05 面试题
丑小鸭教学反思
2014/02/03 职场文书
幼儿园校车安全责任书
2015/05/08 职场文书
基层党建工作简报
2015/07/21 职场文书
2015教师个人师德工作总结
2015/10/23 职场文书
JPA如何使用entityManager执行SQL并指定返回类型
2021/06/15 Java/Android