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)

相关推荐
加油吧zkf5 分钟前
YOLO目标检测数据集类别:分类与应用
人工智能·计算机视觉·目标跟踪
Blossom.11827 分钟前
机器学习在智能制造业中的应用:质量检测与设备故障预测
人工智能·深度学习·神经网络·机器学习·机器人·tensorflow·sklearn
天天扭码31 分钟前
AI时代,前端如何处理大模型返回的多模态数据?
前端·人工智能·面试
难受啊马飞2.041 分钟前
如何判断 AI 将优先自动化哪些任务?
运维·人工智能·ai·语言模型·程序员·大模型·大模型学习
顺丰同城前端技术团队42 分钟前
掌握未来:构建专属领域的大模型与私有知识库——从部署到微调的全面指南
人工智能·deepseek
许泽宇的技术分享1 小时前
用.NET9+Blazor+Semantic Kernel,打造企业级AI知识库和智能体平台——AntSK深度解读
人工智能
烟锁池塘柳01 小时前
【深度学习】强化学习(Reinforcement Learning, RL)主流架构解析
人工智能·深度学习·机器学习
一尘之中1 小时前
全素山药开发指南:从防痒处理到高可用食谱架构
人工智能
加油吧zkf2 小时前
水下目标检测:突破与创新
人工智能·计算机视觉·目标跟踪
加油吧zkf2 小时前
AI大模型如何重塑软件开发流程?——结合目标检测的深度实践与代码示例
开发语言·图像处理·人工智能·python·yolo