OpenCV高级图形用户界面(16)设置一个已经创建的滚动条的最大值函数setTrackbarMax()的使用

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

设置滚动条的最大位置。

该函数设置指定窗口中指定滚动条的最大位置。

在OpenCV中,cv::setTrackbarMax函数用于设置一个已经创建的滚动条的最大值。这个函数允许你在创建滚动条之后动态地改变它的最大值。

注意

「仅限 Qt 后端」如果轨迹条是附加到控制面板上的,那么窗口名称(winname)可以为空。

函数原型

cpp 复制代码
void cv::setTrackbarMax	
(
	const String & 	trackbarname,
	const String & 	winname,
	int 	maxval 
)	

参数

  • 参数trackbarname:滚动条的名称。
  • 参数winname:作为滚动条父级的窗口名称。
  • 参数maxval:新的最大位置。

代码示例

cpp 复制代码
#include <iostream>
#include <opencv2/opencv.hpp>

using namespace cv;
using namespace std;

// 回调函数 - 在此示例中不执行任何操作
void onTrackbar( int, void* ) {}

int main()
{
    // 创建一个空白图像
    Mat img = Mat::zeros( 300, 500, CV_8UC3 );

    // 创建一个名为 "Control Panel" 的窗口
    namedWindow( "Control Panel", WINDOW_AUTOSIZE );

    // 创建一个滚动条
    int trackbar_pos            = 0;    // 初始位置
    const int initial_max_value = 100;  // 初始最大值

    // 创建滚动条
    createTrackbar( "Value", "Control Panel", &trackbar_pos, initial_max_value, onTrackbar );

    // 设置滚动条的最大值
    setTrackbarMax( "Value", "Control Panel", 200 );  // 设置最大值为 200

    // 无限循环,直到用户按下 'q' 键
    while ( true )
    {
        // 获取滚动条的当前位置
        int pos = getTrackbarPos( "Value", "Control Panel" );

        // 在图像上绘制当前的值
        putText( img, std::to_string( pos ), Point( 10, 50 ), FONT_HERSHEY_SIMPLEX, 1, Scalar( 255, 255, 255 ), 2 );

        // 显示图像
        imshow( "Control Panel", img );

        // 等待用户按键
        int key = waitKey( 1 );
        if ( key == 'q' )
        {  // 如果用户按下 'q' 键,退出循环
            break;
        }
    }

    // 关闭所有窗口
    destroyAllWindows();

    return 0;
}

运行结果

相关推荐
GIS工具-gistools20211 小时前
ArcGIS Excalibur 的新功能
人工智能·arcgis
点云侠1 小时前
解决Visual Studio 2022编译工程速度慢的问题
开发语言·c++·ide·算法·计算机视觉·visual studio
THMAIL1 小时前
深度学习从入门到精通 - 迁移学习实战:用预训练模型解决小样本难题
人工智能·python·深度学习·算法·机器学习·迁移学习
音视频牛哥1 小时前
AI+ 行动意见解读:音视频直播SDK如何加速行业智能化
人工智能·音视频·人工智能+·ai+ 行动意见·rtsp/rtmp 播放器·低空经济视频链路·工业巡检视频传输
roman_日积跬步-终至千里1 小时前
【软件架构设计(19)】软件架构评估二:软件架构分析方法分类、质量属性场景、软件评估方法发展历程
人工智能·分类·数据挖掘
镭眸2 小时前
因泰立科技:用激光雷达重塑智能工厂物流生态
大数据·人工智能·科技
阿豪Jeremy2 小时前
使用MS-SWIF框架对大模型进行SFT微调
人工智能
慧星云2 小时前
双节模型创作大赛开赛啦:和魔多一起欢庆中秋国庆
人工智能·云计算·aigc
爆改模型2 小时前
【ICCV2025】计算机视觉|即插即用|ESC:超越Transformer!即插即用ESC模块,显著提升图像超分辨率性能!
人工智能·计算机视觉·transformer
带娃的IT创业者2 小时前
《AI大模型应知应会100篇》第69篇:大模型辅助的数据分析应用开发
人工智能·数据挖掘·数据分析