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运算符重载用法实例
May 28 Python
详解Python爬虫的基本写法
Jan 08 Python
理解Python中的With语句
Mar 18 Python
python爬虫爬取快手视频多线程下载功能
Feb 28 Python
python入门教程 python入门神图一张
Mar 05 Python
详解windows python3.7安装numpy问题的解决方法
Aug 13 Python
pandas 把数据写入txt文件每行固定写入一定数量的值方法
Dec 28 Python
python笔记_将循环内容在一行输出的方法
Aug 08 Python
Python OpenCV图像指定区域裁剪的实现
Oct 30 Python
Django使用消息提示简单的弹出个对话框实例
Nov 15 Python
TensorFlow加载模型时出错的解决方式
Feb 06 Python
通过实例解析Python RPC实现原理及方法
Jul 07 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
PHP4.04简明安装
2006/10/09 PHP
PHP syntax error, unexpected $end 错误的一种原因及解决
2008/10/25 PHP
php mssql 分页SQL语句优化 持续影响
2009/04/26 PHP
提高define性能的php扩展hidef的安装和使用
2011/06/14 PHP
兼容Mozilla必须知道的知识。
2007/01/09 Javascript
javascript 支持ie和firefox杰奇翻页函数
2008/07/22 Javascript
javascript getElementsByClassName 和js取地址栏参数
2010/01/02 Javascript
Ext JS 4官方文档之三 -- 类体系概述与实践
2012/12/16 Javascript
JavaScript作用域链使用介绍
2013/08/29 Javascript
我的Node.js学习之路(四)--单元测试
2014/07/06 Javascript
jQuery Validate初步体验(二)
2015/12/12 Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
2015/12/24 Javascript
JavaScript代码性能优化总结篇
2016/05/15 Javascript
微信小程序wx:for和wx:for-item的用法详解
2018/04/01 Javascript
vue中element-ui表格缩略图悬浮放大功能的实例代码
2018/06/26 Javascript
小程序红包雨的实现示例
2019/02/19 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
jquery html添加元素/删除元素操作实例详解
2020/05/20 jQuery
vue项目或网页上实现文字转换成语音播放功能
2020/06/09 Javascript
pygame学习笔记(2):画点的三种方法和动画实例
2015/04/15 Python
python+selenium开发环境搭建图文教程
2017/08/11 Python
用python实现百度翻译的示例代码
2018/03/09 Python
Python实现判断给定列表是否有重复元素的方法
2018/04/11 Python
基于SpringBoot构造器注入循环依赖及解决方式
2020/04/26 Python
Pycharm添加虚拟解释器报错问题解决方案
2020/10/13 Python
Pytorch之扩充tensor的操作
2021/03/04 Python
巴西体育用品商店:Lojão dos Esportes
2018/07/21 全球购物
英国在线汽车和面包车零件商店:Car Parts 4 Less
2018/08/15 全球购物
大学生表扬信范文
2014/01/09 职场文书
消防先进事迹材料
2014/02/10 职场文书
关于抽烟的检讨书
2014/02/25 职场文书
社区春季防火方案
2014/06/02 职场文书
运动会广播稿100字
2014/09/14 职场文书
社保缴纳证明申请书
2014/11/03 职场文书
纪检监察立案决定书
2015/06/24 职场文书
golang 实现并发求和
2021/05/08 Golang