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()
posted @ 2022-08-08 16:38  seraphembera  阅读(65)  评论(0)    收藏  举报
浏览器标题切换
浏览器标题切换end