createTrackbar函数使用
来源:互联网 发布:淘宝网店策划案怎么写 编辑:程序博客网 时间:2024/06/08 04:48
createTrackbar函数使用
声明:文中部分代码和语言摘录自毛星云所著《OpenCV3编程入门一书以及他的博客,如有侵权,请联系我编辑》
createTrackbar是OpenCV中的API,其可在显示图像的窗口中快速创建一个滑动控件,用于手动调节阈值,具有非常直观的效果。
1、函数定义
CV_EXPORTS int createTrackbar(const string& trackbarname, const string& winname,int* value, int count,TrackbarCallback onChange = 0,void* userdata = 0);
第一个参数,const string&类型的trackbarname,表示轨迹条的名字,用来代表我们创建的轨迹条。
第二个参数,const string&类型的winname,填窗口的名字,表示这个轨迹条会依附到哪个窗口上,即对应namedWindow()创建窗口时填的某一个窗口名。
第三个参数,int* 类型的value,一个指向整型的指针,表示滑块的位置。并且在创建时,滑块的初始位置就是该变量当前的值。
第四个参数,int类型的count,表示滑块可以达到的最大位置的值。PS:滑块最小的位置的值始终为0。
第五个参数,TrackbarCallback类型的onChange,首先注意他有默认值0。这是一个指向回调函数的指针,每次滑块位置改变时,这个函数都会进行回调。并且这个函数的原型必须为void XXXX(int,void*);其中第一个参数是轨迹条的位置,第二个参数是用户数据(看下面的第六个参数)。如果回调是NULL指针,表示没有回调函数的调用,仅第三个参数value有变化。
第六个参数,void*类型的userdata,他也有默认值0。这个参数是用户传给回调函数的数据,用来处理轨迹条事件。如果使用的第三个参数value实参是全局变量的话,完全可以不去管这个userdata参数
typedef void (CV_CDECL *TrackbarCallback)(int pos, void* userdata);
该回调函数的形参有两个,分别是pos变量,即用在滑动条的变量,另一个是void*类型的userdata,在调用时有默认值为0。
2.使用
#include <iostream>#include <opencv2/opencv.hpp>using namespace std;using namespace cv;/*为了能在被调函数中使用,所以设置成全局的*/static int val;static void back(int, void*);static Mat srcImage, dstImage;int main(){ namedWindow("滑动条测试"); srcImage = imread("1.jpg"); dstImage = srcImage.clone(); val = 100; createTrackbar("变量值", "滑动条测试", &val, 300, back,0); imshow("原图", srcImage); waitKey();}static void back(int, void*){ threshold(srcImage, dstImage, val, 255, CV_THRESH_BINARY); imshow("滑动条测试", dstImage);}
- createTrackbar函数使用
- cv::createtrackbar函数的使用
- trackBar用法 createTrackbar函数
- trackBar用法 createTrackbar函数
- createTrackbar函数创建和使用轨迹条,以及图像对比度、亮度值的动态调整
- 【OpenCV笔记 02】OpenCV滑动条的创建和使用——createTrackbar()函数
- 建轨迹条——createTrackbar函数
- OpenCV创建滑动条函数:createTrackbar()介绍
- createTrackbar调用高斯函数出现问题的可能原因
- opencv-createTrackbar函数创建轨迹条的应用
- opencv(九)之轨迹条条创建和使用createTrackbar
- OpenCV createTrackbar()
- 滑桿(createTrackbar)
- Opencv- createTrackbar()
- 【拜小白opencv】9-滑动条(滚动条)创建与实现;createTrackbar()函数
- createTrackbar使用方法及步骤
- 学习OpenCV:createTrackbar
- 创建滑动条createTrackbar()
- spring学习之@Autowired
- Eclipse的java代码出错:The import org.apache cannot be resolved
- 排序的基本原理以及Java实现
- 慕课网学习之Java集合框架
- [LeetCode]419. Battleships in a Board
- createTrackbar函数使用
- The Suspects POJ
- 360浏览器的小功能——标题栏
- static、const总结
- python 案例 012(snake)
- redis 常用操作
- kotlin官方文档中文翻译(二) 基础内容
- MapReduce学习(1)
- 【loj】#6008. 「网络流 24 题」餐巾计划(最小费用流)