OpenCV高级图形用户界面(18)手动设置轨迹条(Trackbar)的位置函数setTrackbarPos()的使用

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

算法描述

该函数设置指定窗口中指定轨迹条的位置。

注意

仅 Qt 后端 如果轨迹条附加到控制面板,则 winname 可以为空。

函数原型

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

参数

  • 参数trackbarname:轨迹条的名称。
  • 参数winname:轨迹条所在窗口的名称。
  • 参数pos:新的位置。

代码示例

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

using namespace cv;
using namespace std;

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

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

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

    // 定义轨迹条的最大值
    const int max_value = 100;

    // 初始化轨迹条的位置
    int trackbar_pos = 50;  // 初始位置

    // 创建轨迹条
    createTrackbar( "Value", "Control Panel", &trackbar_pos, max_value, onTrackbar );

    // 设置轨迹条的位置
    const int new_position = 75;  // 新的位置
    setTrackbarPos( "Value", "Control Panel", new_position );

    // 主循环
    while ( true )
    {
        // 获取轨迹条的当前位置
        int pos = getTrackbarPos( "Value", "Control Panel" );

        // 在图像上绘制当前的值
        putText( img, 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;
}

运行结果

相关推荐
艾莉丝努力练剑6 分钟前
OpenCode AI 编程:Ubuntu 24.04 环境安装与使用指南
linux·服务器·网络·人工智能·tcp/ip·ubuntu
一次旅行14 分钟前
DeepSeek-V4 原厂直供模型即将登陆腾讯云!峰谷定价详解 + 实战调用指南
人工智能·腾讯云·ai编程
阿里云大数据AI技术20 分钟前
DataWorks Data Agent的演进与工程化实践
人工智能·agent
HERR_QQ27 分钟前
强化学习的数学原理 学习笔记
人工智能·笔记·学习·自动驾驶
IvorySQL31 分钟前
PG 技术日报|2026-07-04
数据库·人工智能·postgresql·开源
程序员cxuan34 分钟前
Claude Code 为了封禁中国用户,竟然在代码里下毒
人工智能·后端·程序员
shushangyun_36 分钟前
2026年AI知识库系统选型指南
人工智能
ai生成式引擎优化技术1 小时前
WSaiOS认知内核:一种模块化可解释人工智能操作系统核心的设计与实现
人工智能
喵叔哟1 小时前
从聊天记录到真正的记忆:为 AI Agent 设计一套分层记忆系统
人工智能·langchain
道友可好1 小时前
Claude Code 泄露源码里的 89 个秘密
前端·人工智能·后端