zoukankan      html  css  js  c++  java
  • opencv-python教程学习系列6-用滑动条做调色板

    前言

    opencv-python教程学习系列记录学习python-opencv过程的点滴,本文主要介绍opencv-python用滑动条做调色板,坚持学习,共同进步。

    系列教程参照OpenCV-Python中文教程

    系统环境

    系统:win_x64;

    python版本:python3.5.2;

    opencv版本:opencv3.3.1;

    内容安排

    1.知识点介绍;

    2.测试代码;

    具体内容

    1.知识点介绍;

    主要使用的库是numpy和cv2,函数是cv2.getTrackbarPos()、cv2.creatTrackbar();

    主要内容是通过调节滑动条设定画板颜色;

    1.1窗口显示颜色,三个滑动条来设置RGB的颜色;

    1.2 当滑动滑动条时,窗口颜色实时发生改变,默认窗口为黑色;

    1.3 函数cv2.createTrackbar的参数详情:

    滑动条的名字、滑动条被放置窗口的名字、滑动条默认位置、滑动条的最大值、回调函数;

    每次滑动都会调用回调函数,回调函数通常都会含有一个默认参数,就是滑动条的位置。

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

    1.4 滑动条的另一个应用就是用作转换按钮,默认opencv是不带按钮函数的,这里以滑动条代替,

    需要先创建一个转换按钮,只有当转换按钮指向ON时滑动条才有用;

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

    2.测试代码;

    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
    1: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()
    

    测试结果显示

    参考

    1.opencv-python用滑动条做调色板

  • 相关阅读:
    Redis 常用命令整理
    TCP系列01—概述及协议头格式
    TCP/IP详解--TCP网络传输数据包1460MSS和1448负载
    TCP中报文段大小(MSS)、MTU
    DNS 过滤脚本
    TCP SYN Cookies – DDoS defence
    python virtualenv venv 虚拟环境
    git 命令总结
    王兴三横四纵
    获取国税门户可供下载的资源文档
  • 原文地址:https://www.cnblogs.com/happyamyhope/p/8125445.html
Copyright © 2011-2022 走看看