opencv学习笔记(2)
TrackBar控件
要使用TrackBar控件需要了解下面几个函数。
首先是createTrackbar(),此函数用于创建一格TrackBar控件。
createTrackbar(trackbarName, windowName, value, count, onChange)
trackbarName:TrackBar控件名称
windowName:窗口名称
value:控件初始值
count:控件最大值
onChange:回调函数,返回控件当前值
说明一下onChange这个回调函数,此函数只有一个参数,即TrackBar控件当前值。
omChange(pos)
然后是getTrackbarPos()函数,函数返回控件当前值。
getTrackbarPos(trackbarname, winname)
trackbarname:控件名称
winname: 窗口名称
示例代码
import cv2
import numpy as np
# 回调函数
def trackbar_callback(pos):
print(pos)
# 创建新窗口
cv2.namedWindow('trackbar')
# 创建Trackbar控件
cv2.createTrackbar('R', 'trackbar', 0, 255, trackbar_callback)
cv2.createTrackbar('G', 'trackbar', 0, 255, trackbar_callback)
cv2.createTrackbar('B', 'trackbar', 0, 255, trackbar_callback)
# 创建一幅黑色图片
img = np.zeros((480, 640, 3), np.uint8)
while True:
cv2.imshow('trackbar', img)
# 获取Trackbar控件的值
R = cv2.getTrackbarPos('R', 'trackbar')
G = cv2.getTrackbarPos('G', 'trackbar')
B = cv2.getTrackbarPos('B', 'trackbar')
# 根据控件值改变图片通道值
img[:] = [G, B, R]
# 创建键盘事件,'q'退出
key = cv2.waitKey(10)
if key == ord('q'):
break
# 销毁所有窗口
cv2.destroyAllWindows()

浙公网安备 33010602011771号