Python OpenCV 使用滑动条来调整函数参数的方法


Posted in Python onJuly 08, 2019

引言

在观察OpenCV中某个函数在不同参数的情况下,所得到的效果的时候,我之前是改一次参数运行一次,这样做起来操作麻烦,效率低下。为了更便捷的观察参数变化时带来的处理效果改变 可以使用滑动条来改变参数

具体思路

  1. 使用cv2.createTrackbar()创建滑动条,有几个参数就创建几个
  2. 对每个参数定义回调函数
  3. 在回调函数中显示图片

注意 滑动条的窗口名称 要与 图片显示的窗口名字相同

代码实现

import cv2

d = 0
color = 0
space = 0
def change_d(x):
  d = x
  blur = cv2.bilateralFilter(img,d,color,space)
  cv2.imshow("myImg",blur)

def change_color(x):
  color = x
  blur = cv2.bilateralFilter(img,d,color,space)
  cv2.imshow("myImg",blur)

def change_space(x):
  space = x
  blur = cv2.bilateralFilter(img,d,color,space)
  cv2.imshow("myImg",blur)

img = cv2.imread('car2.jpeg')
cv2.namedWindow('myImg')
cv2.createTrackbar('d','myImg',1,500,change_d)
cv2.createTrackbar('color','myImg',1,500,change_color)
cv2.createTrackbar('space','myImg',1,500,change_space)

while(1):
  k = cv2.waitKey(1)&0xFF
  if k==27:
    break
  d = cv2.getTrackbarPos('d','myImg')
  color = cv2.getTrackbarPos('color','myImg')
  space = cv2.getTrackbarPos('space','myImg')


cv2.destroyAllWindows()

效果展示

Python OpenCV 使用滑动条来调整函数参数的方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
pytyon 带有重复的全排列
Aug 13 Python
Python和php通信乱码问题解决方法
Apr 15 Python
Python中str.format()详解
Mar 12 Python
python处理数据,存进hive表的方法
Jul 04 Python
python正则表达式之对号入座篇
Jul 24 Python
使用python将时间转换为指定的格式方法
Nov 12 Python
Django框架模板的使用方法示例
May 25 Python
python selenium 执行完毕关闭chromedriver进程示例
Nov 15 Python
40个你可能不知道的Python技巧附代码
Jan 29 Python
解决python cv2.imread 读取中文路径的图片返回为None的问题
Jun 02 Python
Python3.8.2安装包及安装教程图文详解(附安装包)
Nov 28 Python
Python编程super应用场景及示例解析
Oct 05 Python
使用Python opencv实现视频与图片的相互转换
Jul 08 #Python
python基于paramiko将文件上传到服务器代码实现
Jul 08 #Python
Python脚本利用adb进行手机控制的方法
Jul 08 #Python
Python Pandas中根据列的值选取多行数据
Jul 08 #Python
详解python调用cmd命令三种方法
Jul 08 #Python
python3.7 使用pymssql往sqlserver插入数据的方法
Jul 08 #Python
Python绘制频率分布直方图的示例
Jul 08 #Python
You might like
php session处理的定制
2009/03/16 PHP
php压缩和解压缩字符串的方法
2015/03/14 PHP
13 个JavaScript 性能提升技巧分享
2012/07/26 Javascript
jquery对table中各数据的增加、保存、删除操作示例
2014/05/14 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
2015/02/17 Javascript
iScroll中事件点击触发两次解决方案
2015/03/11 Javascript
javascript学习笔记之函数定义
2015/06/25 Javascript
提高jQuery性能优化的技巧
2015/08/03 Javascript
基于JavaScript实现手机短信按钮倒计时(超简单)
2015/12/30 Javascript
Angular 理解module和injector,即依赖注入
2016/09/07 Javascript
JS中对数组元素进行增删改移的方法总结
2016/12/15 Javascript
JS获取浮动(float)元素的style.left值为空的快速解决办法
2017/02/19 Javascript
基于JS实现html中placeholder属性提示文字效果示例
2018/04/19 Javascript
微信小程序webview实现长按点击识别二维码功能示例
2019/01/24 Javascript
Vue组件之高德地图地址选择功能的实例代码
2019/06/21 Javascript
vue下载二进制流图片操作
2020/10/26 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
Python中的下划线详解
2015/06/24 Python
pandas 两列时间相减换算为秒的方法
2018/04/20 Python
实例分析python3实现并发访问水平切分表
2018/09/29 Python
python导入pandas具体步骤方法
2019/06/23 Python
Python实现网页截图(PyQT5)过程解析
2019/08/12 Python
pycharm配置git(图文教程)
2019/08/16 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
2019/10/24 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
Python pip install如何修改默认下载路径
2020/04/29 Python
解决python和pycharm安装gmpy2 出现ERROR的问题
2020/08/28 Python
Casetify官网:自制专属手机壳、iPad护壳和Apple Watch手表带
2018/05/09 全球购物
托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别
2014/09/29 面试题
家具厂厂长岗位职责
2014/01/01 职场文书
中学生民族团结演讲稿
2014/08/27 职场文书
祖国在我心中演讲稿(小学生)
2014/09/23 职场文书
计算机实训报告总结
2014/11/05 职场文书
多表查询、事务、DCL
2021/04/05 MySQL
MySQL 角色(role)功能介绍
2021/04/24 MySQL
mysql获取指定时间段中所有日期或月份的语句(不设存储过程,不加表)
2021/06/18 MySQL