trackbar控件

python代码和笔记

import cv2
import numpy as np

"""
trackbar控件
"""
# 创建窗口
cv2.namedWindow('trackbar', cv2.WINDOW_NORMAL)
cv2.resizeWindow('trackbar', 640, 480)


# 定义回调函数
def callback(value):
    print(value)

# 创建三个trackbar,名字和窗口('R', 'trackbar') 值的范围0, 255
cv2.createTrackbar('R', 'trackbar', 0, 255, callback)
cv2.createTrackbar('G', 'trackbar', 0, 255, callback)
cv2.createTrackbar('B', 'trackbar', 0, 255, callback)

# 创建背景图
img = np.zeros((480, 640, 3), np.uint8)

"""
[ ] 主要是取序列中的一个元素,例如:str_list[2]取序列中的第3个元素,这里2指序列中的index。
[:] 主要是取序列中的一段元素,例如 str_list[1:4] 表示访问 str_list 序列中的第二到第四个元素 (str_list[1],str_list[2],str_list[3]),
不包含 str_list[4] 元素。
如果没有提供索引值,则默认从 0 开始。str_list[:4] 表示访问这个序列的第一到第四个元素 (不包含 str_list[4] 元素),str_list[4:] 
表示访问第五到最后一个元素。注意:m\n可以为负,m>n时返回空。
[::]主要逆序和间隔取序列中的元素,例如:(1)翻转序列的元素,例如 str_list[::-1] 表示翻转取序列中的元素,
str_list 序列中的元素。(2):间隔取元素:str_list[1::2],从索引1开始,每次跳2个取取元素。
注意:当n为负时逆序取数,当n为正的时候,m为空则默认m=0,n为负时,m为空则默认为-1。
"""

while True:
    # 获取当前trackbar的值
    r = cv2.getTrackbarPos('R', 'trackbar')
    g = cv2.getTrackbarPos('G', 'trackbar')
    b = cv2.getTrackbarPos('B', 'trackbar')

    # 用获取到的值去修改背景图片颜色 opencv的通道是BGR
    img[:] = [b, g, r]
    cv2.imshow('trackbar', img)
    if cv2.waitKey(1) == ord('q'):
        break

cv2.destroyAllWindows()

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部