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插入排序算法实例分析
Jul 03 Python
Python实现截屏的函数
Jul 26 Python
python实现SMTP邮件发送功能
Jun 16 Python
python查看微信好友是否删除自己
Dec 19 Python
使用Python写CUDA程序的方法
Mar 27 Python
Python基于FTP模块实现ftp文件上传操作示例
Apr 23 Python
QML用PathView实现轮播图
Jun 03 Python
python用Configobj模块读取配置文件
Sep 26 Python
python单元测试框架pytest的使用示例
Oct 07 Python
Python+unittest+DDT实现数据驱动测试
Nov 30 Python
python 实现的IP 存活扫描脚本
Dec 10 Python
bat批处理之字符串操作的实现
Mar 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的ob_start();控制您的浏览器cache!
2006/11/25 PHP
ZF等常用php框架中存在的问题
2008/01/10 PHP
PHP根据传来的16进制颜色代码自动改变背景颜色
2014/06/13 PHP
php解压缩zip和rar压缩包文件的方法
2019/07/10 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
Use Word to Search for Files
2007/06/15 Javascript
Track Image Loading效果代码分析
2007/08/13 Javascript
添加JavaScript重载函数的辅助方法2
2010/07/04 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
2013/07/10 Javascript
js中AppendChild与insertBefore的用法详细解析
2013/12/16 Javascript
node.js中的buffer.Buffer.isEncoding方法使用说明
2014/12/14 Javascript
分享JS代码实现鼠标放在输入框上输入框和图片同时更换样式
2016/09/01 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
2016/12/08 Javascript
javascript基本数据类型和转换
2017/03/17 Javascript
Bootstrap 响应式实用工具实例详解
2017/03/29 Javascript
VUE 配置vue-devtools调试工具及安装方法
2018/09/30 Javascript
如何在Vue.js中实现标签页组件详解
2019/01/02 Javascript
vue vantUI tab切换时 list组件不触发load事件的问题及解决方法
2020/02/14 Javascript
js 使用ajax设置和获取自定义header信息的方法小结
2020/03/12 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
使用python实现递归版汉诺塔示例(汉诺塔递归算法)
2014/04/08 Python
Matplotlib 生成不同大小的subplots实例
2018/05/25 Python
python中协程实现TCP连接的实例分析
2018/10/14 Python
python如何实现数据的线性拟合
2019/07/19 Python
Python OrderedDict字典排序方法详解
2020/05/21 Python
Python 爬虫性能相关总结
2020/08/03 Python
CSS3制作炫酷的下拉菜单及弹起式选单的实例分享
2016/05/17 HTML / CSS
Pretty Green美国:英式摇滚服饰风格代表品牌之一
2019/01/23 全球购物
学生会个人自荐书范文
2014/02/12 职场文书
房地产项目建议书
2014/03/12 职场文书
《登鹳雀楼》教学反思
2014/04/09 职场文书
市级三好学生事迹材料
2014/08/27 职场文书
党建工作汇报材料
2014/12/24 职场文书
2015年酒店年度工作总结
2015/05/23 职场文书
Python+uiautomator2实现自动刷抖音视频功能
2021/04/29 Python
解析Java中的static关键字
2021/06/14 Java/Android