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)

相关推荐
静心问道几秒前
CPO:对比偏好优化—突破大型语言模型在机器翻译中的性能边界
人工智能·强化学习·ai技术应用
liliangcsdn几秒前
mac mlx大模型框架的安装和使用
java·前端·人工智能·python·macos
倔强青铜三20 分钟前
苦练Python第25天:玩转字典
人工智能·python·面试
倔强青铜三34 分钟前
苦练Python第23天:元组秘籍与妙用
人工智能·python·面试
AndrewHZ1 小时前
【图像处理基石】如何入门色彩评估?
图像处理·人工智能·深度学习·色彩科学·hvs·色彩评估·颜色工程
TomatoSCI1 小时前
聚类的可视化选择:PCA / t-SNE丨TomatoSCI分析日记
人工智能·机器学习
大咖分享课1 小时前
深度剖析:最新发布的ChatGPT Agent 技术架构与应用场景
人工智能·openai·智能助手·ai代理·chatgpt agent·自主任务执行
lucky_lyovo1 小时前
卷积神经网络--网络性能提升
人工智能·神经网络·cnn
liliangcsdn1 小时前
smolagents - 如何在mac用agents做简单算术题
人工智能·macos·prompt
nju_spy1 小时前
周志华《机器学习导论》第8章 集成学习 Ensemble Learning
人工智能·随机森林·机器学习·集成学习·boosting·bagging·南京大学