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算法学习之桶排序算法实例(分块排序)
Dec 18 Python
web.py在模板中输出美元符号的方法
Aug 26 Python
编写Python脚本来获取Google搜索结果的示例
May 04 Python
Python读取sqlite数据库文件的方法分析
Aug 07 Python
python实现生命游戏的示例代码(Game of Life)
Jan 24 Python
Win10下python 2.7与python 3.7双环境安装教程图解
Oct 12 Python
Python pandas自定义函数的使用方法示例
Nov 20 Python
简单了解python数组的基本操作
Nov 26 Python
Django后端发送小程序微信模板消息示例(服务通知)
Dec 17 Python
基于django2.2连oracle11g解决版本冲突的问题
Jul 02 Python
python实现图像随机裁剪的示例代码
Dec 10 Python
python中random模块详解
Mar 01 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 判断网页是否是utf8编码的方法
2014/06/06 PHP
php代码架构的八点注意事项
2016/01/25 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
PHP+redis实现的限制抢购防止商品超发功能详解
2019/09/19 PHP
laravel-admin 管理平台获取当前登陆用户信息的例子
2019/10/08 PHP
jquery 插件实现图片延迟加载效果代码
2010/02/06 Javascript
js控制href内容的连接内容的变化示例
2014/04/30 Javascript
原JS实现banner图的常用功能
2017/06/12 Javascript
JavaScript requestAnimationFrame动画详解
2017/09/14 Javascript
react-router4按需加载(踩坑填坑)
2019/01/06 Javascript
vue 实现微信浮标效果
2019/09/01 Javascript
Node.js API详解之 zlib模块用法分析
2020/05/19 Javascript
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
2020/06/02 Javascript
JavaScript实现与web通信的方法详解
2020/08/07 Javascript
python基础教程之获取本机ip数据包示例
2014/02/10 Python
Python类的用法实例浅析
2015/05/27 Python
Django小白教程之Django用户注册与登录
2016/04/22 Python
Python安装模块的常见问题及解决方法
2018/02/05 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
解决python web项目意外关闭,但占用端口的问题
2019/12/17 Python
详解CSS透明opacity和IE各版本透明度滤镜filter的最准确用法
2016/12/20 HTML / CSS
使用jTopo给Html5 Canva中绘制的元素添加鼠标事件
2014/05/15 HTML / CSS
娇韵诗俄罗斯官方网站:Clarins俄罗斯
2020/10/03 全球购物
解决python 输出到csv 出现多空行的情况
2021/03/24 Python
计算机网络专业推荐信
2013/11/24 职场文书
基层干部十八大感言
2014/01/19 职场文书
岗位廉政承诺书
2014/03/27 职场文书
2014个人反腐倡廉思想汇报
2014/09/15 职场文书
教师工作失职检讨书
2014/09/18 职场文书
反腐倡廉影片观后感
2015/06/08 职场文书
校园歌手大赛主持词
2015/07/03 职场文书
2019年新郎保证书3篇
2019/10/17 职场文书
apache基于端口创建虚拟主机的示例
2021/04/22 Servers
js基础语法与maven项目配置教程案例
2021/07/15 Javascript
在python中读取和写入CSV文件详情
2022/06/28 Python