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发送邮件实例讲解(python发邮件附件可以使用email模块实现)
Dec 03 Python
python进阶教程之模块(module)介绍
Aug 30 Python
Python的函数的一些高阶特性
Apr 27 Python
对Python中列表和数组的赋值,浅拷贝和深拷贝的实例讲解
Jun 28 Python
python添加菜单图文讲解
Jun 04 Python
python处理“
Jun 10 Python
anaconda如何查看并管理python环境
Jul 05 Python
通过python实现随机交换礼物程序详解
Jul 10 Python
Python实现多线程/多进程的TCP服务器
Sep 03 Python
浅谈python中频繁的print到底能浪费多长时间
Feb 21 Python
python使用hdfs3模块对hdfs进行操作详解
Jun 06 Python
Python如何加载模型并查看网络
Jul 15 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
phpmyadmin中配置文件现在需要绝密的短语密码的解决方法
2007/02/11 PHP
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
2011/08/12 PHP
php中的注释、变量、数组、常量、函数应用介绍
2012/11/16 PHP
PHP/HTML混写的四种方式总结
2017/02/27 PHP
php实现基于PDO的预处理示例
2017/03/28 PHP
php中try catch捕获异常实例详解
2020/08/06 PHP
javascript 模式设计之工厂模式详细说明
2010/05/10 Javascript
jQuery EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
2011/10/21 Javascript
Javascript 面向对象编程(coolshell)
2012/03/18 Javascript
用jquery中插件dialog实现弹框效果实例代码
2013/11/15 Javascript
根据配置文件加载js依赖模块
2014/12/29 Javascript
Javascript中的call()方法介绍
2015/03/15 Javascript
jquery实现图片水平滚动效果代码分享
2015/08/26 Javascript
基于javascript实现窗口抖动效果
2016/01/03 Javascript
理解Javascript文件动态加载
2016/01/29 Javascript
新手学习前端之js模仿淘宝主页网站
2016/10/31 Javascript
webpack实现热更新(实施同步刷新)
2017/07/28 Javascript
BootStrap导航栏问题记录
2017/07/31 Javascript
vue加载自定义的js文件方法
2018/03/13 Javascript
实例详解BootStrap的动态模态框及静态模态框
2018/08/13 Javascript
python通过文件头判断文件类型
2015/10/30 Python
使用Python内置的模块与函数进行不同进制的数的转换
2016/03/12 Python
使用pyecharts在jupyter notebook上绘图
2020/04/23 Python
python多进程使用及线程池的使用方法代码详解
2018/10/24 Python
python mysql 字段与关键字冲突的解决方式
2020/03/02 Python
Gretna Green中文官网:苏格兰格林小镇
2019/10/16 全球购物
Linux机考试题
2015/10/16 面试题
大学毕业生最详细的自我评价分享
2013/11/18 职场文书
运动会800米加油稿
2014/02/22 职场文书
《广玉兰》教学反思
2014/04/14 职场文书
研修心得体会
2014/09/04 职场文书
股东授权委托书范文
2014/09/13 职场文书
党员批评与自我批评发言
2014/10/02 职场文书
客服专员岗位职责
2015/02/10 职场文书
Redis高并发防止秒杀超卖实战源码解决方案
2021/11/01 Redis
mysql自增长id用完了该怎么办
2022/02/12 MySQL