滑动条(trackbar)
创建滑动条(createTrackbar)
openCV提供createTrackbar指定图像窗口创建一个指定名称和范围的滑动条,使用户能够滑动调整输入,然后根据输入值执行程序。还提供了getTrackbarPos和setTrackbarPos以获取和修改bar的当前值。1
2// C++ code
int createTrackbar(const string& trackbarname, const string& winname, int* value, int count, TrackbarCallback onChange=0, void*userdata=0)
Parameters:
- trackbarname:创建的滑动条名。
- winname:滑动条的父窗体名。
- value:滑动条当前值。
- count:允许的最大值,最小值为0。
- onChange:回调函数,当滑动条位置发生变化时,调用此函数。函数形如void Foo(int,void*);,第一个是位置值,第二个是userdata
- userdata:可以被传递给回调函数,可以在没有全局位置变量时起作用。
获取当前值(getTrackbarPos)
1 | int getTrackbarPos(const String& trackbarname, const String& winname) |
Parameters:
- trackbarname:滑动条名称。
- winname:窗口名称
设置滑动条位置(setTrackbarPos)
1 | void setTrackbarPos(const String& trackbarname, const String& winname, int pos) |
Parameters:
- trackbarname:滑动条名称。
- winname:窗口名称。
- pos:新位置。
测试代码
代码功能描述:
- 通过调整滑动条的位置可以调整视频的帧位;
- ”r“键播放视频;
- ”s“键每按一次切换一帧;
1 | //code from "Learning OpenCV 3" |