C/C++ OpenCV滑动条的创建与使用
来源:互联网 发布:隔墙听音器 淘宝 编辑:程序博客网 时间:2024/05/16 08:21
滑动条(Trackbar)是Opencv动态调节参数的一个工具,他依附于窗口存在
创建滑动条:createTrackbar()
int createTrackbar(
const string& trackbarname,
const string& winname,
int *value,
int count,
TrackbarCallback onCahnge=0,
void* userdata=0)
第一个参数:const string&类型的trackbarname,轨迹条的名字,用来代表我们创建的轨迹条
第二个参数:窗口名,表示这个轨迹条依附到哪个窗口上,即对应namedWindow()创建时窗口填的窗口名
第三个参数:int*类型的value,一个指向整形的指针,表示滑块的位置,在创建时,滑块的初始位置就是该变量的值。
第四个参数:int类型的count,表示滑块可以到达的最大位置的值,滑块最小位置的值始终是0
第五个参数:回调函数,这个函数必须是void XXX(int,void*)其中第一个参数是轨迹的位置,第二个参数是用户数据。
第六个参数:void*类型的userdata,默认为0,这个参数是用户传递给回调函数的数据,三国第三个使用全局变量的话,这个参数省略
下面是代码:
#include <opencv2/opencv.hpp>#include <opencv2/highgui/highgui.hpp>using namespace cv;#define WINDOW_NAME "线性混合"//变量声明const int g_nMaxAlphaValue = 100;//Alpha的最大值int g_nAlphaValuesSlider;//滑动条对应的变量double g_dAlpaValue;double g_dBetaValue;//声明存储图像的变量Mat g_srcImage1;Mat g_srcImage2;Mat g_dstImage;//响应滑动条的回调函数void on_Trackbar(int, void *){//求出当前alpha值对于最大值的比例g_dAlpaValue = (double)g_nAlphaValuesSlider / g_nMaxAlphaValue;//求出第二张图片的权重g_dBetaValue = (1.0 - g_dAlpaValue);//线性混合addWeighted(g_srcImage1, g_dAlpaValue, g_srcImage2, g_dBetaValue, 0.0, g_dstImage);//显示效果图imshow(WINDOW_NAME, g_dstImage);}int main(){g_srcImage1 = imread("1.jpg");g_srcImage2 = imread("2.jpg");if (!g_srcImage1.data){printf("第一张读取失败\n");return -1;}if (!g_srcImage2.data){printf("第二张读取失败\n");return -1;}//设置滑动条的初始位置g_nAlphaValuesSlider = 50;//创建窗体namedWindow(WINDOW_NAME);//在创建窗体中创建一个滑动条char TranckbarName[50] = "透明值100";createTrackbar(TranckbarName, WINDOW_NAME, &g_nAlphaValuesSlider, g_nMaxAlphaValue, on_Trackbar);on_Trackbar(g_nAlphaValuesSlider, 0);waitKey();return 0;}
文件目录:
运行结果:
1 0
- C/C++ OpenCV滑动条的创建与使用
- <opencv>滑动条的创建与使用
- opencv滑动条的创建与使用
- opencv中滑动条的创建与使用
- Opencv滑动条的创建和使用
- OpenCV 滑动条Trackbar C/C++/Python
- 滑动条的创建与使用
- opencv学习(2)滑动条的创建和使用
- OpenCV的滑动条使用
- Opencv-滑动条的使用
- Opencv 创建滑动条
- opencv:创建滑动条
- opencv创建滑动条以及滑动条的位置
- OpenCV--滑动条的创建-creatTrackbar() [addWeighted()]
- 【OpenCV笔记 02】OpenCV滑动条的创建和使用——createTrackbar()函数
- opencv3笔记一 滑动条的创建与使用
- OPENCV中滑动条的使用
- OpenCV滑动条的使用详解
- 【九度】题目1019:简单计算器
- centos6.4安装memcached,及PHP扩展
- ACCPS2优化MYSCHOOL数据库设计第三章练习题
- CAAnimation removedOnCompletion=NO 内存泄露
- zabbix
- C/C++ OpenCV滑动条的创建与使用
- Heartbeat+Haproxy实现负载均衡高可用
- 关于linux系统端口查看和占用的解决方案
- Numpy基础功能索引——续
- django表单实现下拉框
- ubuntu16.04 安装配置matlab+python +cuda8.0+cudnn+opencv3.1的caffe环境
- Function和function
- mnist.load_data()遇到IOError: CRC check failed 0xc187cf56L != 0x14c5212fL
- kaka消费者