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爬虫之神器正则表达式
Nov 06 Python
深入理解NumPy简明教程---数组2
Dec 17 Python
Python实现的大数据分析操作系统日志功能示例
Feb 11 Python
Python3中_(下划线)和__(双下划线)的用途和区别
Apr 26 Python
Django框架文件上传与自定义图片上传路径、上传文件名操作分析
May 10 Python
Python代码使用 Pyftpdlib实现FTP服务器功能
Jul 22 Python
Pytorch 实现自定义参数层的例子
Aug 17 Python
python中property和setter装饰器用法
Dec 19 Python
flask框架url与重定向操作实例详解
Jan 25 Python
python 提高开发效率的5个小技巧
Oct 19 Python
Pytorch 图像变换函数集合小结
Feb 01 Python
pytorch实现线性回归以及多元回归
Apr 11 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
用文本作数据处理
2006/10/09 PHP
php中使用Akismet防止垃圾评论的代码
2011/06/10 PHP
php验证码生成器
2017/05/24 PHP
使用laravel的Eloquent模型如何获取数据库的指定列
2019/10/17 PHP
jQuery autocomplete插件修改
2009/04/17 Javascript
jQuery+CSS 实现的超Sexy下拉菜单
2010/01/17 Javascript
jquery 仿QQ校友的DIV模拟窗口效果源码
2010/03/24 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
如何使用jQuery Draggable和Droppable实现拖拽功能
2013/07/05 Javascript
关于jQuery判断元素是否存在的问题示例探讨
2014/07/21 Javascript
javascript实现下拉提示选择框
2015/12/29 Javascript
使用Vue.observable()进行状态管理的实例代码详解
2019/05/26 Javascript
js实现复制粘贴的两种方法
2020/12/04 Javascript
python发送arp欺骗攻击代码分析
2014/01/16 Python
python实现自动登录人人网并采集信息的方法
2015/06/28 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
Python 元类实例解析
2018/04/04 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
2018/11/07 Python
Django 接收Post请求数据,并保存到数据库的实现方法
2019/07/12 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
2020/02/25 Python
Python实现将元组中的元素作为参数传入函数的操作
2020/06/05 Python
Python 绘制可视化折线图
2020/07/22 Python
TripAdvisor土耳其网站:全球知名旅行社区,真实旅客评论
2017/04/17 全球购物
Stubhub英国:购买体育、演唱会和剧院门票
2018/06/10 全球购物
初中英语教学反思
2014/01/25 职场文书
成人继续教育实施方案
2014/03/01 职场文书
地球一小时倡议书
2014/04/15 职场文书
民事授权委托书范文
2014/08/02 职场文书
校园新闻广播稿5篇
2014/10/10 职场文书
群众路线教育实践活动调研报告
2014/11/03 职场文书
2014年实习班主任工作总结
2014/11/08 职场文书
2015年母亲节活动策划方案
2015/05/04 职场文书
大学生军训心得体会5篇
2019/08/15 职场文书
PostgreSQL将数据加载到buffer cache中操作方法
2021/04/16 PostgreSQL
Spring Boot两种全局配置和两种注解的操作方法
2021/06/29 Java/Android
《最终幻想14》6.01版本4月5日推出 追加新任务新道具
2022/04/03 其他游戏