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基础教程之元组操作使用详解
Mar 25 Python
python和shell获取文本内容的方法
Jun 05 Python
python十进制和二进制的转换方法(含浮点数)
Jul 07 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
Dec 19 Python
在python 中split()使用多符号分割的例子
Jul 15 Python
python读取Kafka实例
Dec 23 Python
Python利用Scrapy框架爬取豆瓣电影示例
Jan 17 Python
Python计算矩阵的和积的实例详解
Sep 10 Python
浅析关于Keras的安装(pycharm)和初步理解
Oct 23 Python
Selenium 配置启动项参数的方法
Dec 04 Python
Python 线程池模块之多线程操作代码
May 20 Python
详解Python函数print用法
Jun 18 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中的 == 运算符进行字符串比较
2006/11/26 PHP
PHP中new static()与new self()的区别异同分析
2014/08/22 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
2019/10/30 PHP
jquery URL参数判断,确定菜单样式
2010/05/31 Javascript
关于jQuery中.attr()和.prop()的问题探讨
2013/09/06 Javascript
JavaScript常用的弹出广告及背投广告实现方法
2015/02/06 Javascript
jquery实现弹出层效果实例
2015/05/19 Javascript
jQuery基于扩展简单实现倒计时功能的方法
2016/05/14 Javascript
基于jQuery实现页面搜索功能
2020/03/26 Javascript
微信小程序的动画效果详解
2017/01/18 Javascript
jQuery内容筛选选择器实例代码
2017/02/06 Javascript
JS简单实现数组去重的方法示例
2017/03/27 Javascript
基于Vue2实现的仿手机QQ单页面应用功能(接入聊天机器人 )
2017/03/30 Javascript
微信小程序 刷新上拉下拉不会断详细介绍
2017/05/11 Javascript
微信页面弹出键盘后iframe内容变空白的解决方案
2017/09/20 Javascript
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
vue使用prop可以渲染但是打印台报错的解决方式
2019/11/13 Javascript
[02:51]2018年度DOTA2最佳中单位选手-完美盛典
2018/12/17 DOTA
[53:29]完美世界DOTA2联赛循环赛 DM vs Matador BO2第二场 11.04
2020/11/05 DOTA
pygame学习笔记(5):游戏精灵
2015/04/15 Python
Python部署web开发程序的几种方法
2017/05/05 Python
Python操作csv文件实例详解
2017/07/31 Python
Python实现基于POS算法的区块链
2018/08/07 Python
人工神经网络算法知识点总结
2019/06/11 Python
python调用支付宝支付接口流程
2019/08/15 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
Flask框架路由和视图用法实例分析
2019/11/07 Python
python调用函数、类和文件操作简单实例总结
2019/11/29 Python
python数据类型可变不可变知识点总结
2020/03/06 Python
英国乡村时尚和宠物用品专家:Pet & Country
2018/07/02 全球购物
安全生产投入制度
2014/01/29 职场文书
高二政治教学反思
2014/02/01 职场文书
运动会宣传口号
2014/06/09 职场文书
走群众路线剖析材料
2014/10/09 职场文书
小学数学国培研修日志
2015/11/13 职场文书
残联2016年全国助残日活动总结
2016/04/01 职场文书