当前位置:   article > 正文

1-5 色彩板跟踪条——OpenCV-Python教程翻译

1-5 色彩板跟踪条——OpenCV-Python教程翻译

目标

  • 掌握在OpenCV窗口中插入跟踪条
  • 掌握函数:cv2.getTrackbarPos()和cv2.createTrackbar()等

案例项目

下面我们将建立一个简单的应用来显示指定的颜色。这里将使用一个窗口显示颜色,三个跟踪条指定每一个BGR通道颜色。当滑动追踪条时,窗口的颜色相应改变。默认的初始颜色设定为黑色。

函数cv2.createTrackbar( trackbarname, winname, value, count, trackbarcallback),第一个参数是跟踪条名字,第二个参数是放置跟踪条的窗口的名字,第三个参数是默认值,第四个参数是最大值,第五个参数是每次追踪条值变化时执行的回调函数。回调函数总是会将追踪条的位置作为默认参数。在这个案例中,回调函数不会有任何功能,因此使用pass关键字跳过。

函数cv2.getTrackbarPos( trackbarname, winname)获取限制追踪条的位置,也就是但会现在的值。

追踪条的另一个应用是用来当按钮或者转换器。默认情况下,OpenCV没有按钮函数。因此,我们可以使用追踪条来实现这样的函数功能。在这个应用中,我们创建一个转换器,当转换器切换到on上,应用正常工作,否则屏幕将一直是黑色。

详细代码如下:

  1. import numpy as np
  2. import cv2 as cv
  3. # 定义回调函数
  4. def nothing(x):
  5. pass
  6. # 创建一个黑色图像和一个窗口
  7. img = np.zeros((300,512,3), np.uint8)
  8. cv.namedWindow('image')
  9. # 创建三个追踪条实现颜色变换
  10. cv.createTrackbar('R','image',0,255,nothing)
  11. cv.createTrackbar('G','image',0,255,nothing)
  12. cv.createTrackbar('B','image',0,255,nothing)
  13. # 创建一个切换器实现ON/OFF函数
  14. switch = '0 : OFF \n1 : ON'
  15. cv.createTrackbar(switch, 'image',0,1,nothing)
  16. while(1):
  17. cv.imshow('image',img)
  18. k = cv.waitKey(1) & 0xFF
  19. if k == 27:
  20. break
  21. # 获取追踪条现在的位置(也就是现在的值)
  22. r = cv.getTrackbarPos('R','image')
  23. g = cv.getTrackbarPos('G','image')
  24. b = cv.getTrackbarPos('B','image')
  25. s = cv.getTrackbarPos(switch,'image')
  26. if s == 0:
  27. img[:] = 0
  28. else:
  29. img[:] = [b,g,r]
  30. cv.destroyAllWindows()

应用结果如下:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/593751
推荐阅读
相关标签
  

闽ICP备14008679号