当前位置: 首页 > article >正文

OpenCV中的Trackbar(无按钮)

学习目标:

        1.学习滑动条绑定OpenCV窗口

        2.学习trackbar滑动条的创建和跟踪


学习内容:

        写一个程序,通过滑动条显示此时指定的颜色,滑动滑动条,颜色就会改变。代码中,cv2.createTrackbar函数为创建滑动条,至于为什么用滑动条,是因为OpenCV的GUI窗口里没有按钮,于仕琪的学习OpenCV书中就说过这一特性。cv2.getTrackbarPos函数为获取滑动条的位置,这个函数第一个参数为滑动条的名字,第二个参数是滑动条绑定的窗口,第三个参数是默认值,第四个参数为最大值,第五个参数为每次执行时的回调函数,我们定义的nothing函数什么也不做。

import cv2
import numpy as np
def nothing(x):
    pass
img=np.zeros((300,512,3),np.uint8)
cv2.namedWindow("image")
cv2.createTrackbar('R','image',0,255,nothing)
cv2.createTrackbar('G','image',0,255,nothing)
cv2.createTrackbar('B','image',0,255,nothing)
cv2.createTrackbar('switch','image',0,1,nothing)
while(True):
    cv2.imshow("image",img)
    k=cv2.waitKey(1)&0xFF
    if k==27:
        break
    r = cv2.getTrackbarPos('R','image')
    g = cv2.getTrackbarPos('G','image')
    b = cv2.getTrackbarPos('B','image')
    s = cv2.getTrackbarPos('switch','image')
    if s==0:
        img[:]=0
    else:
        img[:]=[b,g,r]
cv2.destroyAllWindows()
    

        代码运行情况,switch为1时滑动滑动条,窗口下面颜色会改变。 

 

        下面这张图是学校老师要求完成的一个项目,我正是使用了以trackBar为开关做了一个有关于机器视觉中物块特征识别的一个简易上位机,本质上也很简单,主要是向大家传达OpenCV的这种无按钮特性。 

         

        以上为本篇文章的全部内容,感谢你抽出宝贵的时间阅读这篇文章。如果你有任何疑问或建议,欢迎在评论区留言,我们一起交流进步。愿你的代码之路越走越顺,生活充满阳光!  

 


http://www.kler.cn/a/548312.html

相关文章:

  • Flutter_学习记录_动画的简单了解
  • 三维重建(十二)——3D先验的使用
  • 算法——结合经典示例了解回溯法
  • 数据结构篇
  • VM安装银河麒麟系统
  • 多模态本地部署和ollama部署Llama-Vision实现视觉问答
  • 【Docker】Docker Run 中指定 `bash` 和 `sh` 参数的区别:深入解析与实践指南
  • 如何调整 Nginx工作进程数以提升性能
  • vue3 ref/reactive 修改数组的方法
  • 【DuodooBMS】给PDF附件加“受控”水印的完整Python实现
  • 机器视觉--Halcon If语句
  • SQL-leetcode—1661. 每台机器的进程平均运行时间
  • 使用C#元组实现列表分组汇总拼接字段
  • AWS上基于Llama 3模型检测Amazon Redshift里文本数据的语法和语义错误的设计方案
  • 一、敏捷开发概述:全面理解敏捷开发的核心理念
  • 【动态规划篇】:当回文串遇上动态规划--如何用二维DP“折叠”字符串?
  • PHP 字符串处理操作技巧介绍
  • QT c++ QMetaObject::invokeMethod函数 线程给界面发送数据
  • Android Studio - 解决gradle文件下载失败
  • Django运维系统定时任务方案设计与实现