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)

相关推荐
数据的世界012 分钟前
重构智慧书-第10条:名声与好运
人工智能
岁月宁静6 分钟前
FastAPI 入门指南
人工智能·后端·python
乾元7 分钟前
AI 如何从配置历史与变更日志中推理出“变更引发的故障”——自动化根因分析的因果推理引擎
网络·人工智能·运维开发
明明如月学长7 分钟前
Token到底是个啥?看完这篇终于懂了(附计算工具)
人工智能
自动驾驶小学生8 分钟前
Transformer和LLM前沿内容(1):Transformer and LLM(注定成为经典)
人工智能·深度学习·llm·transformer
豆芽81912 分钟前
计算机视觉:异常检测(paper with code汇总更新中)
人工智能·神经网络·计算机视觉·视觉检测·扩散模型
semantist@语校16 分钟前
第五十五篇|从解释约束到结构化认知:京都国际学院的语言学校Prompt工程化实践
大数据·数据库·人工智能·python·百度·prompt·知识图谱
longvoyage21 分钟前
MindSpore社区活动:在对抗中增强网络
网络·人工智能·深度学习
科士威传动23 分钟前
如何为特定应用选型滚珠导轨?
人工智能·科技·机器人·自动化·制造
imbackneverdie28 分钟前
什么是Token?——理解自然语言处理中的基本单位
数据库·人工智能·自然语言处理·aigc·token