opencv —— createTrackbar、getTrackbarPos 滑动条的创建和使用
创建滑动条:createTrackbar 函数
createTrackbar 函数用于创建一个可以调整数值的滑动条,并将滑动条附加在指定的窗口上。
int createTrackbar(const string& trackbar_name,const string& window_name,int* value,int count,TrackbarCallback onChange=0,void* userdata=0);
- trackbar_name,轨迹条的名字。
- window_name,窗口名字。
- value,滑块位置,滑块的初始位置为该变量的初始值。
- count,滑块可以达到的最大位置,最小位置始终为 0。
- onChange,默认值为 0。这是一个指向回调函数的指针,每次滑块位置改变,这个函数就会进行回调。函数原型必须为 void XXXX (int,void*); 如果回调是 NULL 指针,则表示没有回调函数的调用,仅第三个参数 value 有变化。
- void* 类型的 userdata,默认值为 0。这个参数是用户传给回调函数的数据,用来处理轨迹条事件,可忽略。
示例程序:
- //改变图像的模糊度
- //写法 1:
- #include<opencv.hpp>
- using namespace cv;
- int main() {
- Mat src = imread("C:/Users/齐明洋/Desktop/1.jpg");
- namedWindow("Control", WINDOW_AUTOSIZE);
- int sizes = ;
- createTrackbar("Size", "Control", &sizes, );
- while (true) {
- Mat dst;
- blur(src, dst, Size(sizes, sizes));
- imshow("Blur img", dst);
- imshow("Src img", src);
- char key = (char)waitKey();
- if (key == ) {
- break;
- }
- }
- }
- //写法 2:
- #include<opencv.hpp>
- using namespace cv;
- int sizes = ;
- VideoCapture cap;
- Mat src;
- void change_sizes(int, void*) {
- Mat dst;
- blur(src, dst, Size(sizes, sizes));
- imshow("Blur img", dst);
- imshow("Src img", src);
- }
- int main() {
- src = imread("C:/Users/齐明洋/Desktop/1.jpg");
- namedWindow("Control", WINDOW_AUTOSIZE);
- createTrackbar("Size", "Control", &sizes, ,change_sizes);
- change_sizes(, );
- waitKey();
- }
获取当前轨迹条的位置:getTrackbarPos 函数
int getTrackbarPos(const string& trackbar_name,const string& window_name) ;
- const string& 类型的 trackbar_name,轨迹条的名字
- const string& 类型的 window_name,窗口名字
opencv —— createTrackbar、getTrackbarPos 滑动条的创建和使用的更多相关文章
- python opencv:使用滑动条做调色板
cv2.getTrackbarPos() 函数的 一个参数是滑动条的名字, 第二个参数是滑动条被放置窗口的名字, 第三个参数是滑动条的默认位置. 第四个参数是滑动条的最大值, 第五个函数是回调函数,每 ...
- HighGUI图形图像界面初步——滑动条的创建和使用
---恢复内容开始--- 滑动条是OpenCV动态调节参数特别好用的一种工具,它依附于窗口而存在.由于OpenCV没有实现按钮功能,所以很多时候,我们可以用仅含0-1的滑动条来实现按钮的按下于弹起效果 ...
- OpenCV学习笔记——滑动条开关
由于opencv库中并没有专门为开关而设的函数,可以用滑动条做开关 代码: #include<highgui.h> #include<cv.h> int g_switch_va ...
- 关于Unity中NGUI的Checkbox复选框、Slider滑动条和Button的6种触发回调事件的方式
Checkbox复选框 1.创建一个NGUI背景Sprite1节点 2.打开NGUI---->Open---->Prefab Toolbar---->选择一个复选框节点,拖拽到背景节 ...
- C++ Opencv createTrackbar()创建滑动条实现对比度、亮度调节及注意事项
一.对比度.亮度概念普及 1.1对比度 对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,差异范围越大代表对比越大,差异范围越小代表对比越小.对比度对视觉效果的影响非常关键,一般 ...
- opencv:创建滑动条
函数原型: ,); #include <opencv.hpp> using namespace cv; #define WINDOW_NAME "线性混合示例" // ...
- 滑动条 Trackbar[OpenCV 笔记9]
OpenCV中没有实现按钮的功能,我们可以利用滑动条来实现按钮功能. , ); trackbarname 轨迹条的名字. winname 窗口的名字,轨迹条会依附在这个窗口上. value 一个指向整 ...
- Opencv基础课必须掌握:滑动条做调色盘 -OpenCV步步精深
滑动条做调色盘 我们来想一下这个程序需要什么,首先需要一个窗口显示一切=.=(︿( ̄︶ ̄)︿废话一样): 说到调色盘除了画板也就是窗口(默认为黑色),调色就要涉及三种颜色 红色Red(我们用R表示), ...
- Opencv笔记(六)——把滑动条当调色板
学习目标: 学会把滑动条绑定到 OpenCV 的窗口. 学习函数:cv2.getTrackbarPos(), cv2.creatTrackbar()等. 简单演示: 通过调节滑动条来设定画板颜色.我们 ...
随机推荐
- SDL初始化和创建窗口
//初始化SDL2和创建一个窗口,并且将屏幕绘制成大红色 #include <iostream> extern "C" { #include <SDL.h> ...
- 分析Ajax爬取今日头条街拍美图-崔庆才思路
站点分析 源码及遇到的问题 代码结构 方法定义 需要的常量 关于在代码中遇到的问题 01. 数据库连接 02.今日头条的反爬虫机制 03. json解码遇到的问题 04. 关于response.tex ...
- python 异常之进阶操作
1.文件分析 下面来做一些文件分析操作,分析整本书的信息. 知识点: string.split():将字符串分解为列表. open(filename,‘rb’)或者open(filename,enco ...
- Ubuntu下安装spark
方法一: jps 查看Java 包 sudo apt-get install openjdk** sudo apt-get install scala 选择安装源然后 sudo wget 下载链接 s ...
- CCF_ 201512-3_画图
直接模拟就行了,注意坐标系方向与平常数组不一样,填充操作用深搜和广搜都可以,这里用了广搜. #include<iostream> #include<cstdio> #inclu ...
- Shiro过滤器
Shiro内置过滤器 anon.authBasic.authc.user.logout perms.roles.ssl.port spring.xml <bean id="shiroF ...
- Mac安装Mysql-python遇到的坑,被这俩报错反复摩擦:'my_config.h' file not found 和 IndexError: string index out of range
最后Stackoverflow上面的大神解决了问题: Link brew install mysql brew unlink mysql brew install mysql-connector-c ...
- 《N诺机试指南》(七)排版类问题
1.菱形问题: 解析: 主要通过打印空格和星形来打印整个图形,将整体分为=上三角形+下三角形 首先观察上三角形可以发现:第一行2个空格1个星.第二行1个空格3个星.第三行0个空格5个星 空格数 ...
- ansible实现SSH配置免密互信
Ansible是用来处理大批量重复性操作的工具,只需要在一台机器上就可以远程控制所有机器,但前提是必须保证每台机器之间SSH可以相互免密登录.关于Ansible的安装和环境准备请参考Ansible环境 ...
- Ant Design Vue Pro 项目实战-项目初始化(一)
写在前面 时间真快,转眼又是新的一年.随着前后端技术的不断更新迭代,尤其是前端,在目前前后端分离开发模式这样的一个大环境下,交互性.兼容性等传统的开发模式已经显得有些吃力.之前一直用的是react,随 ...