欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 游戏 > OpenCV高级图形用户界面(18)手动设置轨迹条(Trackbar)的位置函数setTrackbarPos()的使用

OpenCV高级图形用户界面(18)手动设置轨迹条(Trackbar)的位置函数setTrackbarPos()的使用

2024/10/24 19:21:48 来源:https://blog.csdn.net/jndingxin/article/details/143023912  浏览:    关键词:OpenCV高级图形用户界面(18)手动设置轨迹条(Trackbar)的位置函数setTrackbarPos()的使用
  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

该函数设置指定窗口中指定轨迹条的位置。

注意
[仅 Qt 后端] 如果轨迹条附加到控制面板,则 winname 可以为空。

函数原型

void cv::setTrackbarPos
(const String & 	trackbarname,const String & 	winname,int 	pos 
)	

参数

  • 参数trackbarname:轨迹条的名称。
  • 参数winname:轨迹条所在窗口的名称。
  • 参数pos:新的位置。

代码示例


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

运行结果在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com