OpenCV3.2学习笔记之TrackBar
2017-05-28 21:24
507 查看
声明,这相当于我在学习OpenCV3.2的过程中的笔记,文章中的内容由其他博客里的内容也有我自己的理解,侵删。
函数原型
其中trackbarName为创建的TrackBar的名字,
winName为创建的TrackBar所依附的窗体名字,
*value指针指向的是TrackBar当前的值,可以通过设置它改变游标的位置,
count为TrackBar的量程,注意一般情况下bar的最小值都是0,
TrackbarCallback为一个回掉函数指针,每当滑动条改变时,都会调用这个函数,函数原型。
void onChangeTrackbar(int ,void* );
其中第一个参数是trackerbar的值,第二个参数是一个无类型的指针,指向userdata。如果这个参数被传进去一个空指针NULL,那么当TrackBar值发生改变的时候什么也不做。
userdata是用户自定义的参数,可自定义传入的参数。
例程:
函数原型
int createTrackerbar(const string& trackerbarname, const string winname,int* value,int count, TrackbarCallback onChange=0,void* userdata=0);
其中trackbarName为创建的TrackBar的名字,
winName为创建的TrackBar所依附的窗体名字,
*value指针指向的是TrackBar当前的值,可以通过设置它改变游标的位置,
count为TrackBar的量程,注意一般情况下bar的最小值都是0,
TrackbarCallback为一个回掉函数指针,每当滑动条改变时,都会调用这个函数,函数原型。
void onChangeTrackbar(int ,void* );
其中第一个参数是trackerbar的值,第二个参数是一个无类型的指针,指向userdata。如果这个参数被传进去一个空指针NULL,那么当TrackBar值发生改变的时候什么也不做。
userdata是用户自定义的参数,可自定义传入的参数。
例程:
#include <iostream> #include <opencv/cv.hpp> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> using namespace std; using namespace cv; //定义了窗体名 string winName="Blur Filter"; //TrackBar发生改变的回调函数 void onChangeTrackBar(int poi,void* usrdata); //主函数 int main () { //trackbar名 string trackBarName="Size"; //图像文件名 string imgName="image.tif"; //trackbar的值 int poiTrackBar=0; //trackbar的最大值 int maxValue=35; Mat img; img=imread (imgName,CV_LOAD_IMAGE_COLOR); //读入图像 namedWindow(winName); //新建窗口 imshow (winName,img); //创建trackbar,我们把img作为数据传进回调函数中 createTrackbar (trackBarName,winName,&poiTrackBar,maxValue, onChangeTrackBar ,&img); waitKey (); return 0; } //回调函数 void onChangeTrackBar (int poi,void* usrdata) { Mat img=*(Mat*)(usrdata); //强制类型转换 Mat dst; if (poi%2==0) //poi是偶数,把它减1变为奇数 { poi-=1; } if (poi>0) //poi是奇数 { //改变矩阵核 Size blurSize=Size(poi,poi); //刷新 blur (img,dst,blurSize); imshow (winName,dst); } }
相关文章推荐
- openCV学习笔记(2)--cvCreateTrackbar
- 【Ubuntu+OpenCV】HighGUI之trackbar(滑动条)的创建--学习笔记【2】
- OpenCV学习笔记(14)创建Trackbar & 图像对比度、亮度值调整
- OpenCv学习笔记(八)---细说HighGUI(图像用户界面)之滑动条createTrackbar()详解
- OpenCV学习笔记(11)createTrackbar使用方法及步骤
- 【Ubuntu+OpenCV】HighGUI之trackbar充当开关按钮--学习笔记【3】
- 11、TX2学习笔记--OpenCV3.2+OpenCV_contrib3.2+CUDA8.0+python3.5安装
- OpenCV学习笔记(08):OpenCV3.2版本下的Mat和IplImage相互转换
- 学习OpenCV:createTrackbar
- 【OpenCV笔记 02】OpenCV滑动条的创建和使用——createTrackbar()函数
- OpenCV学习:创建Trackbar & 图像对比度、亮度值调整
- OpenCV3.2学习笔记之常用函数
- VS2017下OpenCV3.2学习笔记(一)安装配置、测试程序
- [zz]OpenCV 学习笔记之IplImage 结构
- OpenCV中滤波器学习笔记(一)--CvSepFilter
- OpenCV学习笔记(6)基于 VC+OpenCV+DirectShow 的多个摄像头同步工作
- Hibernate3.2学习笔记
- OpenCV 学习笔记
- OPENCV学习笔记(1)
- OpenCV学习笔记(4)视频文件的读取与保存(2010-01-23 更新)