当前位置: 首页 > article >正文

【OpenCV-Python】cvui 之 trackbar

CVUI 之 trackbar

cvui::trackbar() 渲染一个 trackbar, 可以左右拖动或点击对数字进行增加或减少的调整。

在这里插入图片描述

不使用离散间隔

在这里插入图片描述

使用离散间隔

在这里插入图片描述

Python

import numpy as np
import cv2
import cvui

def trackbar_test():
    WINDOW_NAME = 'Trackbar-Test'

    # 创建画布
    frame = np.zeros((400, 600, 3), np.uint8)

    # 读取图像
    cvui.init(WINDOW_NAME)

    # 
    cntvalue = [1.0]
  
    threshold = [128]

    while True:
        # 画布填色
        frame[:] = (128, 100, 128)

        '''
        > theWhere: 画布
        > theX: 绘制的 X
        > theY: 绘制的 Y
        > theValue: 值
        > theStep: 间隔
        > theFormat: 格式化的值或数字。例如,% d或 % .2f。
        > theFontScale: 字体大小
        > theInsideColor: 颜色
        '''
        cvui.counter(frame, 10, 10, cntvalue, 2, "%d")
      
      
        '''
        > **参数**
        > 发生改变时,返回 `True`;
        > *theWhere*: 画布
        > *theX*: 绘制的 x 
        > *theY*: 绘制的 y
        > *theWidth*: 宽度
        > *theValue*: 用户可以修改的值,任何数值型类型都可以
        > *theMin*: 允许的最小值
        > *theMax*: 允许的最大值
        > *theSegments*: 分段数
        > *theLabelFormat*: 格式化的值,默认为 `%.1Lf` 表示小数,
        > *theOptions*: 定制选项,可以用 `|` 扩展多个
        >   * `TRACKBAR_HIDE_SEGMENT_LABELS`: 显示最小最大值,不显示当前值
        >   * `TRACKBAR_HIDE_STEP_SCALE`: 不显示指示线
        >   * `TRACKBAR_DISCRETE`: 是否使用离散值 `theDiscreteStep` ;
        >   * `TRACKBAR_HIDE_MIN_MAX_LABELS`: 不显示最小最大值
        >   * `TRACKBAR_HIDE_VALUE_LABEL`: 不显示当前值
        >   * `TRACKBAR_HIDE_LABELS`: 不显示标签
        > *theDiscreteStep*: 使用离散的间隔,使用离散的操作看起来不是很平滑。
        '''
        cvui.trackbar(frame, 15, 180, 500, threshold, 10, 256, 3, "%d")
      
        # 显示
        cvui.imshow(WINDOW_NAME, frame)

        # ESC 退出
        if cv2.waitKey(20) == 27:
            break


if __name__ == '__main__':
    trackbar_test()

CPP

原型

template <typename T>
bool trackbar(cv::Mat& theWhere, int theX, int theY, int theWidth, T *theValue, T theMin, T theMax, int theSegments = 1, const char *theLabelFormat = "%.1Lf", unsigned int theOptions = 0, T theDiscreteStep = 1, double theFontScale = DEFAULT_FONT_SCALE);

参数
发生改变时,返回 True
theWhere: 画布
theX: 绘制的 x
theY: 绘制的 y
theWidth: 宽度
theValue: 用户可以修改的值,任何数值型类型都可以
theMin: 允许的最小值
theMax: 允许的最大值
theSegments: 分段数
theLabelFormat: 格式化的值,默认为 %.1Lf 表示小数,
theOptions: 定制选项,可以用 | 扩展多个

  • TRACKBAR_HIDE_SEGMENT_LABELS: 显示最小最大值,不显示当前值
  • TRACKBAR_HIDE_STEP_SCALE: 不显示指示线
  • TRACKBAR_DISCRETE: 是否使用离散值 theDiscreteStep ;
  • TRACKBAR_HIDE_MIN_MAX_LABELS: 不显示最小最大值
  • TRACKBAR_HIDE_VALUE_LABEL: 不显示当前值
  • TRACKBAR_HIDE_LABELS: 不显示标签
    theDiscreteStep: 使用离散的间隔,使用离散的操作看起来不是很平滑。

用例

double value = 12.4;
cvui::trackbar(frame, 40, 30, 220, &value, (double)10.0, (double)15.0);

【参考】

cvui-trackbar


http://www.kler.cn/a/10240.html

相关文章:

  • C 语言标准库 - <errno.h>
  • 线性表-数组描述补充 迭代器(C++)
  • 力扣 653. 两数之和 IV 二叉树/binary-tree two-sum IV
  • Linux下useradd 和 adduser的区别
  • 今天给在家介绍一篇基于jsp的旅游网站设计与实现
  • 满200减30,怎么样用python计算凑单正好满足要求呢?
  • 因果推断14--DRNet论文和代码学习
  • 如果让你做技术负责人,你会怎么设计后端架构?
  • 查看 Elasticsearch 分析器
  • selenium库有哪些功能呢?都是如何实现的呢?
  • ( “树” 之 DFS) 543. 二叉树的直径 ——【Leetcode每日一题】
  • Git的安装与基本使用
  • 2021蓝桥杯真题大写 C语言/C++
  • 计算机网络笔记(横向)
  • 代码随想录算法训练营第三十四天-贪心算法3| 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果
  • 微服务+springcloud+springcloud alibaba学习笔记【Eureka服务注册中心】(3/9)
  • C++标准库--IO库(Primer C++ 第五版 · 阅读笔记)
  • 离散数学_第二章:基本结构:集合、函数、序列、求和和矩阵(1)
  • 探索树形数据结构,通识树、森林与二叉树的基础知识(专有名词),进一步利用顺序表和链表表示、遍历和线索树形结构
  • 梯度的看法
  • MyBatis配置文件 —— 相关标签详解
  • 干翻Hadoop系列之:Hadoop前瞻之分布式知识
  • Leetcode.1992 找到所有的农场组
  • NumPy 秘籍中文第二版:十、Scikits 的乐趣
  • vue3+TS+Pinia+Vite项目实战之一
  • 程序员的日常瞎想,个人规划,和企业把控之间的微妙关系。职场人你懂!!