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实现360的字符显示界面
Feb 21 Python
爬山算法简介和Python实现实例
Apr 26 Python
python对字典进行排序实例
Sep 25 Python
python实现支持目录FTP上传下载文件的方法
Jun 03 Python
Python如何通过subprocess调用adb命令详解
Aug 27 Python
Python实现求一个集合所有子集的示例
May 04 Python
python 爬虫一键爬取 淘宝天猫宝贝页面主图颜色图和详情图的教程
May 22 Python
django中url映射规则和服务端响应顺序的实现
Apr 02 Python
Python OpenCV去除字母后面的杂线操作
Jul 05 Python
Python3利用openpyxl读写Excel文件的方法实例
Feb 03 Python
pandas取dataframe特定行列的实现方法
May 24 Python
Python Matplotlib库实现画局部图
Nov 17 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
帅气的琦玉老师
2020/03/02 日漫
php&mysql 日期操作小记
2012/02/27 PHP
PHP 第二节 数据类型之数值型
2012/04/28 PHP
phpMyAdmin安装并配置允许空密码登录
2015/07/04 PHP
Symfony2实现在doctrine中内置数据的方法
2016/02/05 PHP
MC Dialog js弹出层 完美兼容多浏览器(5.6更新)
2010/05/06 Javascript
复制小说文本时出现的随机乱码的去除方法
2010/09/07 Javascript
Web跨浏览器进程通信(Web跨域)
2013/04/17 Javascript
文字溢出实现溢出的部分再放入一个新生成的div中具体代码
2013/05/17 Javascript
jQuery结合HTML5制作的爱心树表白动画
2015/02/01 Javascript
jQuery实现不断闪烁文字的方法
2015/05/15 Javascript
JavaScript中操作字符串之localeCompare()方法的使用
2015/06/06 Javascript
js下载文件并修改文件名
2017/05/08 Javascript
基于vue组件实现猜数字游戏
2020/05/28 Javascript
vue 之 .sync 修饰符示例详解
2018/04/21 Javascript
vue+webpack实现异步加载三种用法示例详解
2018/04/24 Javascript
vue学习笔记之给组件绑定原生事件操作示例
2020/02/27 Javascript
在Angular中实现一个级联效果的下拉框的示例代码
2020/05/20 Javascript
vuex管理状态仓库使用详解
2020/07/29 Javascript
JavaScript 判断浏览器是否是IE
2021/02/19 Javascript
[10:18]2018DOTA2国际邀请赛寻真——找回自信的TNCPredator
2018/08/13 DOTA
Python正则表达式匹配ip地址实例
2014/10/09 Python
python中split方法用法分析
2015/04/17 Python
Python实现随机选择元素功能
2017/09/14 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
2019/06/08 Python
python解析yaml文件过程详解
2019/08/30 Python
tensorflow 获取checkpoint中的变量列表实例
2020/02/11 Python
Python文件名匹配与文件复制的实现
2020/12/11 Python
HTML5边玩边学(2)基础绘图实现方法
2010/09/21 HTML / CSS
美国当红的名品折扣网:Gilt Groupe
2016/08/15 全球购物
汇科协同Java笔试题
2012/03/31 面试题
质检员的岗位职责
2013/11/15 职场文书
经理秘书求职自荐信范文
2014/03/23 职场文书
我的画教学反思
2014/04/28 职场文书
2015年学雷锋活动总结
2015/02/06 职场文书
公安干警正风肃纪心得体会
2016/01/15 职场文书