opencv学习(2)滑动条的创建和使用
来源:互联网 发布:淘宝网短袖男装 编辑:程序博客网 时间:2024/06/05 04:26
滑动条的创建和使用
#include<opencv2/opencv.hpp>#include"opencv2/highgui/highgui.hpp"using namespace cv;const String WINDOW_NAME = "【线性混合案例】";const int g_nMaxAlphaValue = 100;int g_nAlphaValueSlider;double g_dAlphaValue;double g_dBetaValue;//声明存储图像的变量Mat g_srcImage1;Mat g_srcImage2;Mat g_dstImage;void on_Trackbar(int, void*){ g_dAlphaValue = (double)g_nAlphaValueSlider / g_nMaxAlphaValue; g_dBetaValue = 1.0 - g_dAlphaValue; addWeighted(g_srcImage1, g_dAlphaValue, g_srcImage2, g_dBetaValue, 0.0, g_dstImage); imshow(WINDOW_NAME,g_dstImage);}int main(int argc, char** argv){ g_srcImage1 = imread("3.jpg"); g_srcImage2 = imread("4.jpg"); resize(g_srcImage1,g_srcImage1,Size(640, 640), 0, 0, CV_INTER_LINEAR); resize(g_srcImage2, g_srcImage2, Size(640, 640), 0, 0, CV_INTER_LINEAR); if (!g_srcImage1.data){ printf("读取第一张照片有误"); return-1; } if (!g_srcImage2.data){ printf("读取第二张照片有误"); return-1; } g_nAlphaValueSlider = 70; namedWindow(WINDOW_NAME,1); //在创建的窗体中创建一个滑动条控制 char TrackbarName[50]; sprintf(TrackbarName, "透明值 %d", g_dAlphaValue);//把格式化的数据写入某个字符串缓冲区 createTrackbar(TrackbarName,WINDOW_NAME,&g_nAlphaValueSlider,g_nMaxAlphaValue,on_Trackbar); on_Trackbar(g_nAlphaValueSlider, 0); waitKey(0); return 0;}
备注:
(1)创建滑动条:createTrackbar( )函数;往往会跟一个回调函数配合起来使用
int careateTrackbar(conststring& trackbarname,constring& winname, int* value,int count,TrackbarCallback onChange=0,void* userdata=0 )
第一个参数 【轨迹条的名字】
第二个参数【窗口的名字】
第三个参数,int*类型的value,是一个指向整型的指针,表示滑块的位置。
第四个参数,表示滑块能够达到的最大位置的值;
第五个参数,TrackbarCallback类型的onChange,它有默认值0;这是一个指向回调函数的指针,每次滑块位置改变时,这个函数就会进行回调。
第六个参数,void*类型的userdata,它有默认值0.这个参数是用户传给回调函数的数据,用来处理轨迹条事件。
【回调函数】就是一个通过函数指针调用的函数。如果我们把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,就称为回调函数。
(2) resize()函数;将两幅将要合成的图像尺寸变为指定的大小。
resize(g_srcImage1,g_srcImage1,Size(640, 640), 0, 0, CV_INTER_LINEAR);
(3)sprintf()函数,把格式化的数据写入摸个字符串缓冲区;
0 0
- opencv学习(2)滑动条的创建和使用
- Opencv滑动条的创建和使用
- opencv学习笔记(5)---- 滑动条的创建和使用
- OpenCV学习之旅——滑动条的创建和使用
- opencv学习笔记——滑动条的创建和使用
- <opencv>滑动条的创建与使用
- opencv滑动条的创建与使用
- 【OpenCV笔记 02】OpenCV滑动条的创建和使用——createTrackbar()函数
- 【Ubuntu+OpenCV】HighGUI之trackbar(滑动条)的创建--学习笔记【2】
- OpenCV学习笔记(2)边缘检测与滑动条的创建
- openCV学习笔记-滑动条的创建和图片的线性混合
- C/C++ OpenCV滑动条的创建与使用
- opencv中滑动条的创建与使用
- OpenCV的滑动条使用
- Opencv-滑动条的使用
- Opencv 创建滑动条
- opencv:创建滑动条
- opencv创建滑动条以及滑动条的位置
- Java反射机制简析
- Increasing Triplet Subsequence
- 3
- Android学习之 关于内部Handler类引起内存泄露
- iOS 常用的#define合集
- opencv学习(2)滑动条的创建和使用
- python基础之使用os.system来执行系统命令
- android6.0源码分析之Camera2 HAL分析
- ubuntu下编译ffmpeg
- 自己动手写PHP MVC框架
- redis可用性提升(哨兵sentinel)配置示例
- AFNetworking 使用说明
- LeetCode 7 Reverse Integer
- 作业让我批改,尼玛很久没玩mysql了,蛋疼