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装饰器 免去调用父类构造函数的麻烦
May 18 Python
python使用fileinput模块实现逐行读取文件的方法
Apr 29 Python
Python数据分析之真实IP请求Pandas详解
Nov 18 Python
教你使用python画一朵花送女朋友
Mar 29 Python
python 剪切移动文件的实现代码
Aug 02 Python
python读取文本中的坐标方法
Oct 14 Python
对python实现合并两个排序链表的方法详解
Jan 23 Python
对python3中, print横向输出的方法详解
Jan 28 Python
dataframe 按条件替换某一列中的值方法
Jan 29 Python
pandas DataFrame创建方法的方式
Aug 02 Python
python面向对象 反射原理解析
Aug 12 Python
Python3爬虫中Selenium的用法详解
Jul 10 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服务端图片生成缩略图的方法详解
2013/06/20 PHP
Zend Framework教程之请求对象的封装Zend_Controller_Request实例详解
2016/03/07 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
2016/10/10 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
2016/10/19 PHP
php 将json格式数据转换成数组的方法
2018/08/21 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
2019/04/10 PHP
基于laravel Request的所有方法详解
2019/09/29 PHP
javascript检查日期格式的函数[比较全]
2008/10/17 Javascript
jQuery 常见学习网站与参考书
2009/11/09 Javascript
javascript jscroll模拟html元素滚动条
2012/12/18 Javascript
jQuery实现响应鼠标背景变化的动态菜单效果代码
2015/08/27 Javascript
javascript伸缩菜单栏实现代码分享
2015/11/12 Javascript
理解JavaScript事件对象
2016/01/25 Javascript
轻松5句话解决JavaScript的作用域
2016/07/15 Javascript
基于javascript的异步编程实例详解
2017/04/10 Javascript
JS获取短信验证码倒计时的实现代码
2017/05/22 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
2018/01/08 Javascript
基于vue v-for 循环复选框-默认勾选第一个的实现方法
2018/03/03 Javascript
详解开发react应用最好用的脚手架 create-react-app
2018/04/24 Javascript
vue+express+jwt持久化登录的方法
2019/06/14 Javascript
vue配置文件实现代理v2版本的方法
2019/06/21 Javascript
小程序实现tab标签页
2020/11/16 Javascript
Python入门篇之面向对象
2014/10/20 Python
python flask实现分页效果
2017/06/27 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
Python-openCV读RGB通道图实例
2020/01/17 Python
TensorFlow实现模型断点训练,checkpoint模型载入方式
2020/05/26 Python
pycharm不以pytest方式运行,想要切换回普通模式运行的操作
2020/09/01 Python
html5使用Drag事件编辑器拖拽上传图片的示例代码
2017/08/22 HTML / CSS
Tom Dixon官网:英国照明及家具设计和制造公司
2019/03/01 全球购物
C语言编程题
2015/03/09 面试题
师范毕业生求职自荐信
2013/09/25 职场文书
专科文秘应届生求职信
2013/11/18 职场文书
优秀社区干部事迹材料
2014/02/03 职场文书
小学生暑假安全公约
2015/07/14 职场文书
乡镇司法所2015年度工作总结
2015/10/14 职场文书