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;
}

运行结果

相关推荐
workflower几秒前
智能体-企业行政问答助手
人工智能·机器学习·机器人·云计算·无人机
武子康5 分钟前
Agent 的工具没变,SGLang 缓存为什么没命中?
人工智能·llm·agent
hyunbar7778 分钟前
LangChain 实战:Agent 4类结构化输出方式
人工智能
咖啡星人k11 分钟前
2026 可观测性实战:把观测契约写进SPEC,MonkeyCode 云端跑通
人工智能·机器学习
阿里云大数据AI技术11 分钟前
基于阿里云Milvus 知识库服务,快速搭建智能客服问答系统实践
人工智能·agent
RAOY的AI笔记13 分钟前
GPT-6 Astra开发指南:API调用、工具使用与AI Agent应用思路
大数据·人工智能·gpt
Code_Artist22 分钟前
从 Tool Calling 到能力编排:重新理解 Agent Skill 的运行机制——以 tRPC-Agent-Go 为例
人工智能·openai·agent
geneculture25 分钟前
融智学视域下的心灵哲学范式重审--行为主义、功能主义与中文屋论证的融智学对照分析 (高级科普 · 学术论文)
人工智能·信息科学·融智学的重要应用·哲学与科学统一性·融智时代(杂志)·心智哲学重审·中文屋论题
chuntian_tester28 分钟前
AI自动化第3步【用例设计】
人工智能·测试工具·ai·自动化
科技每日热闻31 分钟前
中国企业出海开展业务,如何挑选可安全合规使用国际大模型的云平台?Amazon Bedrock 在同一平台完成国际模型接入、区域选择与合规治理
大数据·人工智能·安全·ai