关注

15-轨迹栏作为调色板

 在这里,将创建一个简单的应用程序,以显示您指定的颜色。有一个显示颜色的窗口,以及三个用于指定B、G、R颜色的跟踪栏。滑动轨迹栏,并相应地更改窗口颜色。默认情况下,初始颜色将设置为黑色。
 两个相关的API:
 1.cv2.createTrackbar(创建trackbar)
 2.cv2.getTrackbarPos(获取trackbar的值)

对于 cv.getTrackbarPos() 函数,第一个参数是轨迹栏名称,第二个参数是它附加到的窗口名称,第三个参数是默认值,第四个参数是最大值,第五个是执行的回调函数每次跟踪栏值更改。回调函数始终具有默认参数,即轨迹栏位置。在我们的例子中,函数什么都不做,所以我们简单地通过。
代码:

import cv2
import numpy as np

# 创建窗口
cv2.namedWindow('trackbar', cv2.WINDOW_NORMAL)

# 创建图片, 大小为480*640 全黑
img = np.zeros((480,640,3), np.uint8)

# 创建三个trackbar 参数1:trackbar名称,参数2:窗口名称,参数3:初始值,参数4:最大值,参数5:回调函数
cv2.createTrackbar('R', 'trackbar', 0, 255, lambda x: None)
cv2.createTrackbar('G', 'trackbar', 0, 255, lambda x: None)
cv2.createTrackbar('B', 'trackbar', 0, 255, lambda x: None)
while True:
    # 获取trackbar的值 参数1:trackbar名称,参数2:窗口名称
    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(1)
    if key & 0xFF == ord('q'):
        break

cv2.destroyAllWindows()

执行后如图所示:
在这里插入图片描述
可以滑动试试,查看颜色变化。

转载自CSDN-专业IT技术社区

原文链接:https://blog.csdn.net/qwy715229258163/article/details/157732040

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--