美文网首页
Python+OpenCV教程番外篇3:滑动条

Python+OpenCV教程番外篇3:滑动条

作者: e8bcb7ff1632 | 来源:发表于2018-01-05 14:13 被阅读1258次

    主站:http://ex2tron.wang
    原文:Python+OpenCV教程番外篇3:滑动条


    学习使用滑动条动态调整参数。图片等可到源码处下载。


    目标

    • 创建和使用滑动条
    • OpenCV函数:cv2.createTrackbar(), cv2.getTrackbarPos()

    教程

    滑动条的使用

    首先我们需要创建一个滑动条,如cv2.createTrackbar('R','image',0,255,call_back),其中

    • 参数1:滑动条的名称
    • 参数2:所在窗口的名称
    • 参数3:当前的值
    • 参数4:最大值
    • 参数5:回调函数名称,回调函数默认有一个表示当前值的参数

    创建好之后,可以在回调函数中获取滑动条的值,也可以用:cv2.getTrackbarPos()得到,其中,参数1是滑动条的名称,参数2是窗口的名称。下面我们实现一个RGB的调色板,理解下函数的使用:

    import cv2
    import numpy as np
    
    # 回调函数,x表示滑块的位置,本例暂不使用
    def nothing(x):
        pass
    
    img = np.zeros((300, 512, 3), np.uint8)
    cv2.namedWindow('image')
    
    # 创建RGB三个滑动条
    cv2.createTrackbar('R', 'image', 0, 255, nothing)
    cv2.createTrackbar('G', 'image', 0, 255, nothing)
    cv2.createTrackbar('B', 'image', 0, 255, nothing)
    
    while(True):
        cv2.imshow('image', img)
        if cv2.waitKey(1) == 27:
            break
    
        # 获取滑块的值
        r = cv2.getTrackbarPos('R', 'image')
        g = cv2.getTrackbarPos('G', 'image')
        b = cv2.getTrackbarPos('B', 'image')
        # 设定img的颜色
        img[:] = [b, g, r]
    

    [图片上传失败...(image-2e85db-1515132829359)]

    小结

    • cv2.createTrackbar()用来创建滑动条,可以在回调函数中得到滑块的位置,也可以用cv2.getTrackbarPos()

    引用

    相关文章

      网友评论

          本文标题:Python+OpenCV教程番外篇3:滑动条

          本文链接:https://www.haomeiwen.com/subject/wbxsnxtx.html