opencv3.4+python3.6 中文教程5之进度条

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37606112/article/details/79590012

目标
学习在opencv窗口上增加一个进度条
学习cv.getTrackbarPos(), cv.createTrackbar()函数的用法
函数
cv.createTrackbar():
这里写图片描述这里写图片描述

参数定义:
进度条的名称;
进度条绑定的图形窗口名称;
当前的进度条数值;
进度条的最大值,最小值缺省为0;
回调函数;
用户参数,通常用全局变量进行传递。
cv.createTrackbar():
这里写图片描述
参数定义:
进度条当前数值;
绑定的父窗口。
代码
给出一个示例代码,建立一个窗口,缺省为黑色,包含三个进度条,分别用于控制BGR像素参数。

import numpy as np
import cv2 as cv

def nothing(x):
    pass

# Create a black image, a window
img = np.zeros((300,512,3), np.uint8)
cv.namedWindow('image')

# create trackbars for color change
cv.createTrackbar('R','image',0,255,nothing)cv.createTrackbar('G','image',0,255,nothing)
cv.createTrackbar('B','image',0,255,nothing)

# create switch for ON/OFF functionality
switch = '0 : OFF \n1 : ON'
cv.createTrackbar(switch, 'image',0,1,nothing)

while(1):
    cv.imshow('image',img)
    k = cv.waitKey(1) & 0xFF
    if k == 27:
        break

    # get current positions of four trackbars
    r = cv.getTrackbarPos('R','image')
    g = cv.getTrackbarPos('G','image')
    b = cv.getTrackbarPos('B','image')
    s = cv.getTrackbarPos(switch,'image')

    if s == 0:
        img[:] = 0
    else:
        img[:] = [b,g,r]

cv.destroyAllWindows()

效果
运行后效果。

这里写图片描述

猜你喜欢

转载自blog.csdn.net/m0_37606112/article/details/79590012