OpenCV之滑动条的创建和使用
先上代码
#include <iostream>
#include <opencv2/core.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/imgproc.hpp>
#include <opencv2/videoio.hpp>
#include <opencv2/video.hpp>using namespace cv;
using namespace std;#define WINDOW_NAME "[线性混合示例]" //为窗口标题定义的宏const int g_nManAlphaValue = 100; //Alpha值的最大值
int g_nAlphaValueSlider;//滑动条对应的变量
double g_dAlphaValue;
double g_dBetaValue;//声明存储图像的变量
Mat g_srcImage1;
Mat g_srcImage2;
Mat g_dstImage;void on_Trackbar(int, void*) {//求出当前alpha值相对于最大值的比例g_dAlphaValue = (double)g_nAlphaValueSlider / g_nManAlphaValue;//则beta值为1减去alpha的值g_dBetaValue = (1.0 - g_dAlphaValue);//根据alpha和beta值进行线性混合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");if (!g_srcImage1.data){printf("读取第一张图片错误,请确定目录下是否有imread函数指定的图片存在\n");return -1;}if (!g_srcImage2.data) {printf("读取第二张图片错误,请确定目录下是否有imread函数指定的图片存在\n");return -1;}//设置滑动条初始值为70g_nAlphaValueSlider = 70;//创建窗体namedWindow(WINDOW_NAME, WINDOW_NORMAL);//在创建的窗体中创建一个滑动条控件char TrackbarName[50] = "透明值 100";//sprintf(TrackbarName, "透明值 %d", g_nManAlphaValue);createTrackbar(TrackbarName, WINDOW_NAME, &g_nAlphaValueSlider, g_nManAlphaValue, on_Trackbar);//结果在回调函数中显示//on_Trackbar(g_nAlphaValueSlider, 0);cout << "bar pos = " << getTrackbarPos(TrackbarName, WINDOW_NAME);waitKey(0);return 0;
}
运行结果
今天中午在琢磨公司的东西,没午休,现在直接顶不住,今天就这么多吧,先保狗命要紧。
OpenCV之滑动条的创建和使用相关推荐
- opencv 滑动条的创建和使用
CV_EXPORTS int createTrackbar(const string& trackbarname, // 轨迹条名称const string& winname, // ...
- 【火同学】OPencv学习笔记——滑动条的创建和使用
Opencv中的滑动条的创建和使用 Ps:素材来源:opencv编程,目的是记录自己的学习过程. 一,创建滑动条:createTrackbar() 1)createTrackbar()函数是用来创建一 ...
- python -opencv 使用滑动条 cv2.createTrackbar,cv2.getTrackbarPos(), cv2.setTrackbarPos
python -opencv 使用滑动条 函数createTrackbar: cv2.createTrackbar("scale", "display", 0, ...
- C/C++ OpenCV滑动条的创建与使用
滑动条(Trackbar)是Opencv动态调节参数的一个工具,他依附于窗口存在 创建滑动条:createTrackbar() int createTrackbar( const string& ...
- python 滚动条方法_Python OpenCV 使用滑动条来调整函数参数的方法
引言 在观察OpenCV中某个函数在不同参数的情况下,所得到的效果的时候,我之前是改一次参数运行一次,这样做起来操作麻烦,效率低下.为了更便捷的观察参数变化时带来的处理效果改变 可以使用滑动条来改变参 ...
- OpenCV利用滑动条实现一个开关
//----------------------------------------------------------------------- // 代码说明:以下代码来自Learning Ope ...
- HighGUI图像用户界面初步(滑动条、鼠标操作)
文章目录 1.Mat类简析 2.图像的载入:imread()函数 3.图像的显示:imshow()函数 4.创建窗口:namedWindow()函数 5.输出图像到文件:imwrite()函数 6.综 ...
- 【OpenCV 】计算物体的凸包/创建包围轮廓的矩形和圆形边界框/createTrackbar添加滑动条/
目录 topic 1:模板匹配 topic 2:图像中寻找轮廓 topic 3:计算物体的凸包 topic 4:轮廓创建可倾斜的边界框和椭圆¶ topic 5:轮廓矩¶ topic 6:为程序界面添加 ...
- OpenCV之highgui 模块. 高层GUI和媒体I/O: 为程序界面添加滑动条 OpenCV的视频输入和相似度测量 用OpenCV创建视频
为程序界面添加滑动条 在以前的教程中 (例如 linear blending 和 brightness and contrast adjustments)你有可能注意到需要 input 一些数值到我们 ...
最新文章
- 回归算法 - 线性回归求解 θ(最大似然估计求解)
- #每天一种设计模式# 模板方法
- vs怎么编译php文件,vscode怎么初始编译
- HDU2608 0 or 1
- java检测tomcat宕机_Tomcat意外宕机分析
- vmware 克隆后Linux没有eth网卡只有lo
- signature=095ed28e83b68620637b3a67436b0f8f,SMB 3.1.1 Encryption in Windows 10
- c语言翻译时为0运行为2,高级语言程序设计:、二章习题解答
- 链表c++语言 解析,C++ 单链表的基本操作(详解)
- python合并两个数据框_python-3.x - 如何使用匹配索引合并两个数据框? - SO中文参考 - www.soinside.com...
- Numpy系列(二)对数组按索引查询
- 内存越界并不等于马上出错
- 一位销售的几年职业总结
- 设置一个励志锁屏短语吧!苹果电脑锁屏短语在哪设置?
- HttpClient用法--这一篇全了解(内含例子)
- C++ 程序越过windows Defender检测
- ThinkPHP5分页样式
- 校内题目T2691 桶哥的问题——送桶
- 电商商家玩抖音裂变营销,必须要知道的数据分析知识-下秒数据
- 【2018-11-09】中证500指数的估值详情
热门文章
- Jquery JS 正确的比较两个数字大小的方法
- Key为数字的Json数据标准化成标准Json格式
- 注册登录时本地图片验证码
- error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
- php访问mysql 封装
- Tomcat5的数据库连接池配置
- 利用IDocHostUIHandler接口屏蔽WebBrowser的弹出菜单
- 理解去中心化稳定币DAI
- ES6系列_2之新的声明方式
- app的证书签名,eclipse的sha1和md5值