opencv三个通道变换实时显示
了解将轨迹栏固定到OpenCV窗口
您将学习以下功能:cv.getTrackbarPos,cv.createTrackbar使用
有一个显示颜色的窗口,以及三个用于指定B、G、R颜色的跟踪栏。
滑动轨迹栏,并相应地更改窗口颜色。默认情况下,初始颜色将设置为黑
cv.getTrackbarPos()函数,
- 第一个参数是轨迹栏名称
- 第二个参数是它附加到的窗口名称
- 第三个参数是默认值
- 第四个参数是最大值
- 第五个是执行的回调函数每次跟踪栏值更改
回调函数始终具有默认参数,即轨迹栏位置
只有在该开关为ON的情况下,该应用程序才能在其中运行
import numpy as np
import cv2 as cv
def nothing(x):
pass
# 创建一个黑色的图像,一个窗口
img = np.zeros((300, 512, 3), np.uint8)
cv.namedWindow("image")
# 创建颜色变化的轨迹栏
cv.createTrackbar('R', 'image', 0, 255, nothing)
cv.createTrackbar('G', 'image', 0, 255, nothing)
cv.createTrackbar('B', 'image', 0, 255, nothing)
# 为 on/off 功能创建开关
switch = 'OFF,ON'
cv.createTrackbar(switch, 'image', 0, 1, nothing)
while(1):
cv.imshow('image',img)
k = cv.waitKey(1) & 0xFF
if k==27:
break
# 得到四条轨迹的当前位置
r = cv.getTrackbarPos('R', 'image')
g = cv.getTrackbarPos('G', 'image')
b = cv.getTrackbarPos('B', 'image')
s = cv.getTrackbarPos(switch, 'image')
if s == 0:
img[:] = 0
else:
img[:] = [b, g, r]
cv.destroyAllWindows()