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 linecache.getline()读取文件中特定一行的脚本
Sep 06 Python
python中ConfigParse模块的用法
Sep 29 Python
调试Python程序代码的几种方法总结
Apr 28 Python
Python基础语法(Python基础知识点)
Feb 28 Python
Python+MongoDB自增键值的简单实现
Nov 04 Python
flask-socketio实现WebSocket的方法
Jul 31 Python
python 自动重连wifi windows的方法
Dec 18 Python
Python aiohttp百万并发极限测试实例分析
Oct 26 Python
python TK库简单应用(实时显示子进程输出)
Oct 29 Python
Python脚本去除文件的只读性操作
Mar 05 Python
Jupyter Notebook 实现正常显示中文和负号
Apr 24 Python
五分钟学会怎么用python做一个简单的贪吃蛇
Jan 12 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
sphinx增量索引的一个问题
2011/06/14 PHP
php中session_unset与session_destroy的区别分析
2011/06/16 PHP
php设计模式 Command(命令模式)
2011/06/26 PHP
过滤掉PHP数组中的重复值的实现代码
2011/07/17 PHP
获取Javscript执行函数名称的方法
2006/12/22 Javascript
js操作Xml(向服务器发送Xml,处理服务器返回的Xml)(IE下有效)
2009/01/30 Javascript
JQuery实现倒计时按钮的实现代码
2012/03/23 Javascript
来自国外的30个基于jquery的Web下拉菜单
2012/06/22 Javascript
jQuery实现的原图对比窗帘效果
2014/06/15 Javascript
深入分析jquery解析json数据
2014/12/09 Javascript
Javascript中的几种URL编码方法比较
2015/01/23 Javascript
JQuery中serialize() 序列化
2015/03/13 Javascript
JavaScript实现自动消除按钮功能的方法
2015/08/05 Javascript
AngularJS中关于ng-class指令的几种实现方式详解
2016/09/17 Javascript
JavaScript制作简易计算器(不用eval)
2017/02/05 Javascript
Vuejs 组件——props数据传递的实例代码
2017/03/07 Javascript
使用vue-router设置每个页面的title方法
2018/02/11 Javascript
详解vue中$nextTick和$forceUpdate的用法
2019/12/11 Javascript
在vue中使用eslint,配合vscode的操作
2020/11/09 Javascript
python实现的正则表达式功能入门教程【经典】
2017/06/05 Python
Python简单实现自动删除目录下空文件夹的方法
2017/08/29 Python
微信跳一跳小游戏python脚本
2018/01/05 Python
pandas 对series和dataframe进行排序的实例
2018/06/09 Python
Python中的四种交换数值的方法解析
2019/11/18 Python
Python 私有化操作实例分析
2019/11/21 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
2020/04/10 Python
详解Python高阶函数
2020/08/15 Python
Python eval函数原理及用法解析
2020/11/14 Python
python中scipy.stats产生随机数实例讲解
2021/02/19 Python
毕业生文员求职信
2013/11/03 职场文书
户外宣传策划方案
2014/05/25 职场文书
经典团队口号
2014/06/06 职场文书
人民调解协议书范本
2014/10/11 职场文书
学校拾金不昧表扬信
2015/01/16 职场文书
排球赛新闻稿
2015/07/17 职场文书
2019年聘任书的写作格式及范文!
2019/07/03 职场文书