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 不同对象比较大小示例探讨
Aug 21 Python
总结用Pdb库调试Python的方式及常用的命令
Aug 18 Python
python制作websocket服务器实例分享
Nov 20 Python
python利用正则表达式搜索单词示例代码
Sep 24 Python
Pyinstaller将py打包成exe的实例
Mar 31 Python
pandas把所有大于0的数设置为1的方法
Jan 26 Python
python设置环境变量的原因和方法
Jun 24 Python
python设计tcp数据包协议类的例子
Jul 23 Python
Python Scrapy图片爬取原理及代码实例
Jun 12 Python
详解Python中openpyxl模块基本用法
Feb 23 Python
教你使用Python获取QQ音乐某个歌手的歌单
Apr 03 Python
Python何绘制带有背景色块的折线图
Apr 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
php匹配字符中链接地址的方法
2014/12/22 PHP
php数组冒泡排序算法实例
2016/05/06 PHP
PHP使用ajax的post方式下载excel文件简单示例
2019/08/06 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
Riot.js 快速的JavaScript单元测试框架
2009/11/09 Javascript
JavaScript实现点击按钮后变灰避免多次重复提交
2013/07/15 Javascript
javascript中的throttle和debounce浅析
2014/06/06 Javascript
Iframe实现跨浏览器自适应高度解决方法
2014/09/02 Javascript
js实现的后台左侧管理菜单代码
2015/09/11 Javascript
第七篇Bootstrap表单布局实例代码详解(三种表单布局)
2016/06/21 Javascript
浅谈js中test()函数在正则中的使用
2016/08/19 Javascript
AngularJS实现标签页的两种方式
2016/09/05 Javascript
Angularjs中的页面访问权限怎么设置
2016/11/11 Javascript
js作用域和作用域链及预解析
2019/04/11 Javascript
微信小程序3种位置API的使用方法详解
2019/08/05 Javascript
js实现小星星游戏
2020/03/23 Javascript
[00:13]天涯墨客二技能展示
2018/08/25 DOTA
python网络编程学习笔记(五):socket的一些补充
2014/06/09 Python
Python最基本的输入输出详解
2015/04/25 Python
浅谈Python 字符串格式化输出(format/printf)
2016/07/21 Python
Pycharm连接远程服务器并实现远程调试的实现
2019/08/02 Python
Python如何爬取qq音乐歌词到本地
2020/06/01 Python
PyCharm+Miniconda3安装配置教程详解
2021/02/16 Python
HTML5 Canvas中绘制矩形实例
2015/01/01 HTML / CSS
html5 canvas合成海报所遇问题及解决方案总结
2017/08/03 HTML / CSS
美国时尚假发购物网站:Wigsbuy
2019/04/06 全球购物
英国工作场所设备购买网站:Slingsby
2019/05/03 全球购物
Stührling手表官方网站:男女高品质时尚手表的领先零售商
2021/01/07 全球购物
英国著名药妆店:Superdrug
2021/02/13 全球购物
保密工作实施方案
2014/02/24 职场文书
祖国在我心中演讲稿(小学生)
2014/09/23 职场文书
质量主管工作职责
2014/09/26 职场文书
学校2014年度工作总结
2014/12/06 职场文书
优秀班主任材料
2014/12/16 职场文书
Python 数据可视化之Bokeh详解
2021/11/02 Python
SpringBoot整合阿里云视频点播的过程详解
2021/12/06 Java/Android