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 相关文章推荐
python Django模板的使用方法(图文)
Nov 04 Python
Python实现的最近最少使用算法
Jul 10 Python
python实现随机调用一个浏览器打开网页
Apr 21 Python
python3 kmp 字符串匹配的方法
Jul 07 Python
pycharm恢复默认设置或者是替换pycharm的解释器实例
Oct 29 Python
如何用Python来理一理红楼梦里的那些关系
Aug 14 Python
Python numpy.zero() 初始化矩阵实例
Nov 27 Python
Python基础之高级变量类型实例详解
Jan 03 Python
python3中的logging记录日志实现过程及封装成类的操作
May 12 Python
python 数据分析实现长宽格式的转换
May 18 Python
python中round函数如何使用
Jun 19 Python
python 获取计算机的网卡信息
Feb 18 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仿博客园 个人博客(1) 数据库与界面设计
2013/07/05 PHP
关于PHP语言构造器介绍
2013/07/08 PHP
PHP实现的迷你漂流瓶
2015/07/29 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
2016/04/04 PHP
深入浅出讲解:php的socket通信原理
2016/12/03 PHP
如何离线执行php任务
2017/02/21 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
2010年最佳jQuery插件整理
2010/12/06 Javascript
利用JS自动打开页面上链接的实现代码
2011/09/25 Javascript
JS日期和时间选择控件升级版(自写)
2013/08/02 Javascript
javascript实现实时输出当前的时间
2015/04/27 Javascript
详谈JS中实现种子随机数及作用
2016/07/19 Javascript
jQuery UI插件实现百度提词器效果
2016/11/21 Javascript
新手vue构建单页面应用实例代码
2017/09/18 Javascript
swiper在angularjs中使用循环轮播失效的解决方法
2018/09/27 Javascript
vue v-for循环重复数据无法添加问题解决方法【加track-by='索引'】
2019/03/15 Javascript
vue本地打开build后生成的dist文件夹index.html问题
2019/09/04 Javascript
es6中let和const的使用方法详解
2020/02/24 Javascript
js实现tab栏切换效果
2020/08/02 Javascript
python实现的二叉树算法和kmp算法实例
2014/04/25 Python
python实现猜单词小游戏
2020/05/22 Python
Python 3.8新特征之asyncio REPL
2019/05/28 Python
python turtle 绘制太极图的实例
2019/12/18 Python
pycharm导入源码的具体步骤
2020/08/04 Python
HTML5实现的图片无限加载的瀑布流效果另带边框圆角阴影
2014/03/07 HTML / CSS
Monnier Freres中文官网:法国领先的奢侈品配饰在线零售商
2017/11/01 全球购物
北京天润融通.net面试题笔试题
2012/02/20 面试题
企业消防安全制度
2014/02/02 职场文书
新文化运动的口号
2014/06/21 职场文书
租车协议书范本2014
2014/11/17 职场文书
优秀教师先进材料
2014/12/16 职场文书
同意报考证明
2015/06/17 职场文书
麦田里的守望者读书笔记
2015/06/30 职场文书
新手必备之MySQL msi版本下载安装图文详细教程
2021/05/21 MySQL
SQL Server Agent 服务无法启动
2022/04/20 SQL Server
SpringBoot详解整合Redis缓存方法
2022/07/15 Java/Android