函数原型:

int createTrackbar(conststring& trackbarname,conststring& winname,int* value,int count,TrackbarCallback onChange=,void* userdata = );

  

#include <opencv.hpp>
using namespace cv;
#define WINDOW_NAME "线性混合示例" // 为窗口标题定义的宏
// ------------------ 全局变量声明部分 ------------------//
const int g_nMaxAlphaValue = ; // Alpha 的最大值
int g_nAlphaValueSlider; // 滑动条对应的变量
double g_dAlphaValue;
double g_dBetaValue;
// 声明图像的变量 //
Mat g_srcImage1, g_srcImage2, g_dstImage;
//======================================================//
// ------------------- 响应滑动条的回调函数 ----------------- //
void on_Trackbar(int, void*)
{
// 求出当前alpha值相对于最大值的比例
g_dAlphaValue = (double)g_nAlphaValueSlider / g_nMaxAlphaValue;
// 则beta值为1减去alpha的值
g_dAlphaValue = (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("1.jpg");
g_srcImage2 = imread("2.jpg");
if (!g_srcImage1.data){ printf("读取第一幅图片错误,请确定目录下是否有该图片存在\n"); return -; }
if (!g_srcImage2.data){ printf("读取第二幅图片错误,请确定目录下是否有该图片存在\n"); return -; }
// 设置滑动条初值为70
g_nAlphaValueSlider = ; // 初始化默认的位置是70
//创建窗体
namedWindow(WINDOW_NAME, WINDOW_FULLSCREEN);
//在创建的窗体中创建一个滑动条控件
char TrackbarName[];
sprintf(TrackbarName, "透明值%d", g_nMaxAlphaValue);
createTrackbar(TrackbarName,WINDOW_NAME,/*依附在该名字的窗口下*/ &g_nAlphaValueSlider/*当前的slider位置*/, g_nMaxAlphaValue/*最大值*/, on_Trackbar/*回调函数的名字*/);
// 结果在回调函数中显示
on_Trackbar(g_nAlphaValueSlider, );
//按任意键退出;
waitKey(); return ;
}

  

opencv:创建滑动条的更多相关文章

  1. OpenCV创建轨迹条,图片像素的访问

    .OpenCV创建进度条以及图像对比度,亮度调整 1.创建轨迹条createTrackbar() 函数原型C++: intcreateTrackbar(conststring& trackba ...

  2. C++ Opencv createTrackbar()创建滑动条实现对比度、亮度调节及注意事项

    一.对比度.亮度概念普及 1.1对比度 对比度指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,差异范围越大代表对比越大,差异范围越小代表对比越小.对比度对视觉效果的影响非常关键,一般 ...

  3. Opencv关于滑动条bar操作的实例

    代码如下: //////////////////////////////////////////////////////////////////////// // // 该程序产生一个窗口10s 如果 ...

  4. opencv:通过滑动条调节亮度和对比度

    示例代码: #include <opencv.hpp> using namespace cv; using namespace std; void on_change(int, void* ...

  5. OPENCV中滑动条的使用

    //文中存在两种不同的图像的平滑类型.一类是彩色图像,还有一类是灰度图像.经证明,两种均能够 #include<cv.h> #include<highgui.h> #inclu ...

  6. opencv —— createTrackbar、getTrackbarPos 滑动条的创建和使用

    创建滑动条:createTrackbar 函数 createTrackbar 函数用于创建一个可以调整数值的滑动条,并将滑动条附加在指定的窗口上. int createTrackbar(const s ...

  7. HighGUI图形图像界面初步——滑动条的创建和使用

    ---恢复内容开始--- 滑动条是OpenCV动态调节参数特别好用的一种工具,它依附于窗口而存在.由于OpenCV没有实现按钮功能,所以很多时候,我们可以用仅含0-1的滑动条来实现按钮的按下于弹起效果 ...

  8. 滑动条 Trackbar[OpenCV 笔记9]

    OpenCV中没有实现按钮的功能,我们可以利用滑动条来实现按钮功能. , ); trackbarname 轨迹条的名字. winname 窗口的名字,轨迹条会依附在这个窗口上. value 一个指向整 ...

  9. 利用OpenCV和MFC对话框建设一个有滑动条控制的播放器--转

    (一)问题的提出: OpenCV有一个很简单的播放视频文件并加载滑动条的程序,但是如何用MFC对话框来创建一个有滑动条控制的播放器呢,网络上四处搜索都没有代码可以参考,下的都是些骗子链接文件,很过分, ...

随机推荐

  1. Giraph执行报错,Error: Exceeded limits on number of counters - Counters=120 Limit=120, exiting...

    HamaWhite 原创,转载请注明出处.欢迎大家增加Giraph 技术交流群: 228591158 1. 近日用Giraph跑大数据的SSSP时,遇到例如以下错误: org.apache.hadoo ...

  2. ATA接口寄存器描写叙述

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/mao0514/article/details/32135815 ATA接口寄存器描写叙述   .AT ...

  3. MariaDB备份之XtraBackup

    一.XtraBackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtrabd数据库进行热备的工具.特点: (1)备份过程快速.可靠: ...

  4. vue-router路由器的使用

    一. vue-router路由 1.简介 1.为什么要用vue-router 使用Vue.js开发SPA(Single Page Application)单页面应用 2.什么是单页面应用 根据不同ur ...

  5. 模板继承(extend)——(Day68)

    模板继承 (extend) Django模版引擎中最强大也是最复杂的部分就是模版继承了.模版继承可以让您创建一个基本的“骨架”模版,它包含您站点中的全部元素,并且可以定义能够被子模版覆盖的 block ...

  6. [翻译]Feedback on the Go Challenge solutions

    第一次Go Challenge比赛,中国区只有3人参赛. 赛后收到邮件,是一个审阅者的反馈,“Feedback on the Go Challenge solutions”,摘录如下: 保持简单粗暴 ...

  7. maven 不打包hbm 问题

    <build> <resources> <resource> <directory>src/main/java</directory> &l ...

  8. nginx日志分割总结

    nginx日志自己不会进行分个,所有日志都会累积的记录在 access.log,error.log 中,当请求量大,一天就能到几百兆,如果不进行分给,对日志的查看和写入性能都有影响. 1. 编写脚本n ...

  9. 20145217《网络对抗》 逆向及BOF进阶实践学习总结

    20145217<网络对抗> 逆向及BOF进阶实践学习总结 实践目的 1.注入shellcode 2.实现Return-to-libc攻击 知识点学习总结 Shellcode实际是一段代码 ...

  10. Latex排版全解【转载】

    Latex排版全解 https://www.cnblogs.com/jingwhale/p/4250296.html