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

运行结果

相关推荐
云和数据.ChenGuang4 小时前
Python 重写(Override)深度解析:从 MRO 到 super() 的完整机制
java·开发语言·人工智能·python·langchain·1024程序员节
西西木科技丨Shopify开发机构4 小时前
CalDigit TS4案例:AI产品图的Shopify整站接入与验收
人工智能·shopify·独立站
2601_965448875 小时前
AI视频制作:做系列节气民俗视频音色不统一,AI 音色克隆省事的方法
人工智能·机器学习·音视频
美狐美颜SDK开放平台5 小时前
视频美颜SDK试用DEMO阶段应该测试什么?直播APP接入实操指南
开发语言·人工智能·深度学习·音视频·美颜sdk·直播美颜sdk·第三方美颜sdk
HRaitest5 小时前
秋招技术岗招聘提效:三类 AI 招聘方案的技术底层与选型逻辑
大数据·人工智能·求职招聘·ai-native
天远数科5 小时前
零信任架构实战:基于天远企业股权变更构建自动化商业银行对公授信存续期股权异动与资产抽逃预警网关
运维·人工智能·架构·自动化
车软学堂5 小时前
从测试转开发,到底要补什么
网络·人工智能·python·功能测试·单片机·车载系统·自动化
海盗12346 小时前
AI 新闻日报 10-28:Atria Dawn 完整版开源、Cursor Agent SDK 转正、Genie 4 实时世界模型
人工智能·机器人·开源·人工智能aigc
志尊宝6 小时前
AI原生前端开发(035):AI时代的工程化最佳实践总结
人工智能·ai-native
冬奇Lab6 小时前
一天一个开源项目(第251篇):Claude SEO —— 装进 Claude Code 的 SEO 审计团队,26 个子技能 + 19 个专家 Agent 并行体检网站
人工智能·开源