opencv-TrackBar轨道线(五)

本文详细介绍了如何在OpenCV中创建和使用TrackBar,通过getTrackBarPos获取滑块位置,实现对图像像素颜色(BGR)的实时调整。展示了创建TrackBar、获取值并应用到图片像素的完整流程。
摘要由CSDN通过智能技术生成

一.重点
        createTrackbar(trackBarName,winName,value,count)依次为(轨道线,窗口名,轨道线值,count:最小0,最大count)
        getTrackBarPos(trackBarName,winName)获得当前值的api,输出trackBar滑块当前的位置

二.流程    

   创建trackBar
        cv.createTrackbar('R','trackBar',0,255,callback)
        cv.createTrackbar('G','trackBar',0,255,callback)
        cv.createTrackbar('B','trackBar',0,255,callback)\
   创建完后需要获取trackBar的值即:
        r = cv.getTrackBarPos('R','trackBar')
        g = cv.getTrackbarPos('G','trackBar')
        b = cv.getTrackbarPos('B','trackBar')
   然后对图片指定像素进行赋值:
        img[:] 选中所有像素点
        img[:] = [b,g,r] 注意赋值颜色是相反的BGR

参考代码:

import cv2 as cv
import numpy as np

# 空回调函数
def callback():
    pass
# 创建窗口
cv.namedWindow('trackBar',cv.WINDOW_NORMAL)
cv.resizeWindow('trackBar',(640,360))


# 创建trackBar
cv.createTrackbar('R','trackBar',0,255,callback)
cv.createTrackbar('G','trackBar',0,255,callback)
cv.createTrackbar('B','trackBar',0,255,callback)

# 创建图片
img = np.zeros((480,640,3), dtype=np.uint8)
while True:
    cv.imshow('trackBar', img)

    # 获取trackBar
    r = cv.getTrackbarPos('R','trackBar')
    g = cv.getTrackbarPos('G','trackBar')
    b = cv.getTrackbarPos('B','trackBar')

    # img[:] 选中所有的像素
    img[:] = [b,g,r]

    key = cv.waitKey(1)
    if key & 0xFF == ord('q'):
        break

#释放资源
cv.destroyAllWindows()

运行效果:

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值