OpenCV-7Trackbar用法

本文介绍了如何在Python中使用OpenCV的Trackbar功能,包括创建Trackbar、设置默认值和最大值,以及通过回调函数实时获取并改变三原色值。通过示例展示了如何在窗口中实现动态颜色变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Trackbar是一个可以允许进行拖动的进条,可以通过鼠标控制其对应的值(例如下图三原色)

可以用来控制三原色,但不仅仅用来控制三原色。

一.需要学习两个新的API:

1)createTrackbar(trackbarname, winname, value,count, onChange)用于创建Trackbar插件

trackbarname为创建的trackbar的名字  winname为trackbar创建在对应的窗口上

value为trackbar的默认值(即刚创建trackbar时对应的标点为为多少)

count为bar的最大值,最小值为0

onChange类似于上节课的callback(回调函数),即当拖动bar时数值发生了改变,此时你希望能触发一个函数做的事情

2)getTrackbarPos(trackbarname, winname)用于当拖动trackbar时,获取trackbar的当前值

二.代码展示如下:

cv2.resizeWindow("trackbar", 640, 480)   # 设置窗口大小

def callback(value):   # 创建回调函数
    print(value)


# 创建trackbar对象
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, 360, 3), np.uint8)


while True:
    r = cv2.getTrackbarPos("R", "trackbar")
    g = cv2.getTrackbarPos("G", "trackbar")
    b = cv2.getTrackbarPos("B", "trackbar")

# 改变背景颜色
    img[:] = [b, g, r]
    cv2.imshow("trackbar", img)   # 进行展示

    key = cv2.waitKey(10)
    if key == ord("q"):
        break


cv2.destroyAllWindows()

三.运行结果如下:

当改变参数时,会打印对应的value值。

注意点:Pycharm中cv2.createTrackbar会显示不存在,此时忽略直接在其中填入参数即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一道秘制的小菜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值