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 #include 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; } ``` ### 运行结果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/3d11026b934b474a9180df54412a0988.png)

相关推荐
Jerryhut几秒前
OpenCv总结5——图像特征——harris角点检测
人工智能·opencv·计算机视觉
意趣新3 分钟前
Opencv中的鼠标控制和TrackBar控件
opencv·计算机视觉
图欧学习资源库5 分钟前
人工智能领域、图欧科技、IMYAI智能助手2025年12月更新月报
人工智能·科技
光羽隹衡6 分钟前
机器学习——贝叶斯
人工智能·机器学习
夏天是冰红茶6 分钟前
YOLO目标检测数据集扩充
人工智能·yolo·目标检测
lpfasd1238 分钟前
Spring AI 集成国内大模型实战:千问/豆包(含多模态)+ Spring Boot 4.0.1 全攻略
人工智能·spring boot·spring
Linux猿14 分钟前
2025年中国AI学习平板市场洞察白皮书 | 附PDF
人工智能·学习·电脑·研报精选
GEO AI搜索优化助手1 小时前
AI搜索革命:营销新纪元,GEO时代生成式AI重构搜索
人工智能·搜索引擎·生成式引擎优化·ai优化·geo搜索优化
丝瓜蛋汤2 小时前
NCE(noise contrastive estimation)loss噪声对比估计损失和InfoNCE loss
人工智能
DeepVis Research2 小时前
【AGI Safety/Robotics】2026年度 AGI 对抗性强化学习与软体机器人控制基准索引 (Skynet/Legion Core)
人工智能·网络安全·机器人·数据集·强化学习