python+opencv实现霍夫变换检测直线


Posted in Python onOctober 23, 2020

本文实例为大家分享了python+opencv实现霍夫变换检测直线的具体代码,供大家参考,具体内容如下

功能:

创建一个滑动条来控制检测直线的长度阈值,即大于该阈值的检测出来,小于该阈值的忽略
注意:这里用的函数是HoughLinesP而不是HoughLines,因为HoughLinesP直接给出了直线的断点,在画出线段的时候可以偷懒

代码:

# -*- coding: utf-8 -*- 

import cv2

#两个回调函数
def HoughLinesP(minLineLength):
 global minLINELENGTH 
 minLINELENGTH = minLineLength + 1
 print "minLINELENGTH:",minLineLength + 1
 tempIamge = scr.copy()
 lines = cv2.HoughLinesP( edges, 1, cv2.cv.CV_PI/180, minLINELENGTH, 0 )
 for x1,y1,x2,y2 in lines[0]:
 cv2.line(tempIamge,(x1,y1),(x2,y2),(0,255,0),1)
 cv2.imshow(window_name,tempIamge)

#临时变量
minLineLength = 20

#全局变量
minLINELENGTH = 20
max_value = 100
window_name = "HoughLines Demo"
trackbar_value = "minLineLength"

#读入图片,模式为灰度图,创建窗口
scr = cv2.imread("G:\\homework\\building.bmp")
gray = cv2.cvtColor(scr,cv2.COLOR_BGR2GRAY)
img = cv2.GaussianBlur(gray,(3,3),0)
edges = cv2.Canny(img, 50, 150, apertureSize = 3)
cv2.namedWindow(window_name)

#创建滑动条
cv2.createTrackbar( trackbar_value, window_name, \
  minLineLength, max_value, HoughLinesP)

#初始化
HoughLinesP(20)

if cv2.waitKey(0) == 27: 
 cv2.destroyAllWindows()

调用:

>>> import os
>>> os.chdir("g:\homework")
>>> 
>>> import HoughLines
minLINELENGTH: 20
minLINELENGTH: 21
minLINELENGTH: 22
minLINELENGTH: 23
minLINELENGTH: 25
minLINELENGTH: 26
minLINELENGTH: 27
minLINELENGTH: 28

效果图:

python+opencv实现霍夫变换检测直线

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python去掉字符串中重复字符的方法
Feb 27 Python
python中使用smtplib和email模块发送邮件实例
Apr 22 Python
python实现挑选出来100以内的质数
Mar 24 Python
python开发中range()函数用法实例分析
Nov 12 Python
Python 含参构造函数实例详解
May 25 Python
Python logging模块用法示例
Aug 28 Python
Django项目创建到启动详解(最全最详细)
Sep 07 Python
python实现的按要求生成手机号功能示例
Oct 08 Python
零基础学python应该从哪里入手
Aug 11 Python
解决PyCharm无法使用lxml库的问题(图解)
Dec 22 Python
Opencv中cv2.floodFill算法的使用
Jun 18 Python
python异步的ASGI与Fast Api实现
Jul 16 Python
python利用插值法对折线进行平滑曲线处理
Dec 25 #Python
基于Python对数据shape的常见操作详解
Dec 25 #Python
Python正则匹配判断手机号是否合法的方法
Dec 09 #Python
对Python正则匹配IP、Url、Mail的方法详解
Dec 25 #Python
Python 正则表达式匹配字符串中的http链接方法
Dec 25 #Python
Python lambda表达式用法实例分析
Dec 25 #Python
Python实现针对json中某个关键字段进行排序操作示例
Dec 25 #Python
You might like
PHP实现通过Luhn算法校验信用卡卡号是否有效
2015/03/23 PHP
PHP的全局错误处理详解
2016/04/25 PHP
PHP中call_user_func_array回调函数的用法示例
2016/11/26 PHP
Dom与浏览器兼容性说明
2010/10/25 Javascript
基于jquery的网页SELECT下拉框美化代码
2010/10/28 Javascript
js 连接数据库如何操作数据库中的数据
2012/11/23 Javascript
js从外部获取图片的实现方法
2016/08/05 Javascript
js中判断变量类型函数typeof的用法总结
2016/08/09 Javascript
easyui tree带checkbox实现单选的简单实例
2016/11/07 Javascript
微信小程序 配置文件详细介绍
2016/12/14 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
2017/03/04 Javascript
十大热门的JavaScript框架和库
2017/03/21 Javascript
详解vee-validate的使用个人小结
2017/06/07 Javascript
JS获取月的第几周和年的第几周实例代码
2018/12/05 Javascript
小程序显示弹窗时禁止下层的内容滚动实现方法
2019/03/20 Javascript
VUE项目中加载已保存的笔记实例方法
2019/09/14 Javascript
layui 实现表单和文件上传一起传到后台的例子
2019/09/16 Javascript
微信小程序实现可长按移动控件
2020/11/01 Javascript
[01:29]2017 DOTA2国际邀请赛官方英雄手办展示
2017/03/18 DOTA
python time模块用法实例详解
2014/09/11 Python
Python入门篇之字典
2014/10/17 Python
Python实现删除排序数组中重复项的两种方法示例
2019/01/31 Python
使用python判断jpeg图片的完整性实例
2019/06/10 Python
Python collections中的双向队列deque简单介绍详解
2019/11/04 Python
利用Python的sympy包求解一元三次方程示例
2019/11/22 Python
HTML5 device access 设备访问详解
2018/05/24 HTML / CSS
美国旅游网站:Tours4Fun
2017/02/17 全球购物
Keds加拿大官网:购买帆布运动鞋和皮鞋
2019/09/26 全球购物
生物技术研究生自荐信
2013/11/12 职场文书
教师节促销方案
2014/03/22 职场文书
学生个人自我鉴定范文
2014/03/28 职场文书
我爱读书演讲稿
2014/05/07 职场文书
大学生社会实践方案
2014/05/11 职场文书
激励员工的口号
2014/06/16 职场文书
2014年审计工作总结
2014/11/17 职场文书
Mysql的Table doesn't exist问题及解决
2022/12/24 MySQL