OpenCV Python - 添加轨迹栏

OpenCV 中的 Trackbar (轨迹栏)是一个滑块控件,它通过手动在栏上滑动选项卡来帮助从连续范围中选择变量的值。 选项卡的位置与值同步。

createTrackbar() 函数使用以下命令创建一个 Trackbar 对象 −

cv2.createTrackbar(trackbarname, winname, value, count, TrackbarCallback)

在下面的示例中,提供了三个轨迹条供用户在灰度范围 0 到 255 之间设置 R、G 和 B 的值。

使用轨迹栏位置值,绘制一个矩形,其填充颜色对应于 RGB 颜色值。


示例

下面的程序是添加一个 trackbar −

import numpy as np
import cv2 as cv
img = np.zeros((300,400,3), np.uint8)
cv.namedWindow('image')
def nothing(x):
   pass

# create trackbars for color change
cv.createTrackbar('R','image',0,255,nothing)
cv.createTrackbar('G','image',0,255,nothing)
cv.createTrackbar('B','image',0,255,nothing)

while(1):
   cv.imshow('image',img)
   k = cv.waitKey(1) & 0xFF
   if k == 27:
      break
   # get current positions of four trackbars
   r = cv.getTrackbarPos('R','image')
   g = cv.getTrackbarPos('G','image')
   b = cv.getTrackbarPos('B','image')

   #s = cv.getTrackbarPos(switch,'image')
   #img[:] = [b,g,r]
   cv.rectangle(img, (100,100),(200,200), (b,g,r),-1)
   cv.destroyAllWindows()

输出

轨迹栏