(Python)从零开始,简单快速学机器仿人视觉Opencv—第五节:OpenCV用滑动条做调色板

172
0
2020年12月18日 09时14分

注释

 

本节对仿人视觉没什么作用,只是想把opencv里面的这个函数给讲一下,以后就算不用opencv去做仿人视觉,也可以派的上用场。

 

事先准备

 

使用库numpy;cv2
使用函数cv2.getTrackbarPos();cv2.creatTrackbar()

 

cv2.creatTrackbar():可在显示图像的窗口中快速创建一个滑动控件,用于手动调节阈值(阀值可以理解为上限的意思)
cv2.getTrackbarPos():获得获取滑动条的位置的值

 

使用步骤

 

1.通过调节滑动条来设定画板颜色。
2.窗口显示颜色,三个滑动条来设置RGB的颜色
3.当滑动滑动条时,窗口颜色实时发生改变,默认窗口为黑色。

 

参数详情

 

cv2.createTrackbar()参数详情:
第一个参数为:滑动条的名字
第二个参数为:滑动条被放置窗口的名字
第三个参数为:滑动条默认的位置
第四个参数为:滑动条最大的值
第五个参数为:回调函数,每次滑动都会调用回调函数,回调函数通常都会含有一个默认参数,就是滑动条的位置。

 

cv2.getTrackbarPos()参数详情:
第一个参数为:表示滑动条的名字
第二个参数为:表示显示滑动条的窗口的名称

 

另外的应用

 

滑动条的另一个应用就是用作转换按钮,默认OpenCV是不带有按钮函数的,这里以滑动条代替,需要先创建一个转换按钮,只有当转换按钮指向ON时滑动条才有用。
示例代码如下:

 

import cv2
import numpy as np
def nothing(x):
    pass

#创建一个黑色图像
img = np.zeros((300,512,3),np.uint8)
cv2.namedWindow('image')

cv2.createTrackbar('R','image',0,255,nothing)
cv2.createTrackbar('G','image',0,255,nothing)
cv2.createTrackbar('B','image',0,255,nothing)

switch = '0:OFF\n1:ON'
cv2.createTrackbar(switch,'image',0,1,nothing)

while(1):
    cv2.imshow('image',img)
    k=cv2.waitKey(1)
    if k == ord('q'):#按q键退出
        break

    r = cv2.getTrackbarPos('R','image')
    g = cv2.getTrackbarPos('G', 'image')
    b = cv2.getTrackbarPos('B', 'image')
    s = cv2.getTrackbarPos(switch, 'image')

    if s == 0:
        img[:]=0
    else:
        img[:]=[r,g,b]
cv2.destroyAllWindows()

 

结尾

(每周不定期更新,谢谢大家支持!)

发表评论

后才能评论