highgui基础 OpenCV trackbar

        在调试程序或者程序执行时需要调整某个变量的值亦或是参数的值,我们需要一个简单方便的操作,滚动条就是一个非常使用的工具。通过鼠标点击对滚动条进行拖动操作以期实现调整某个参数的值。下面例程参见Opencv 安装目录 samples tutorial_code文件夹。

#include"opencv2/opencv.hpp"
using namespace cv;
using namespace std;const int alpha_slider_max = 100;
int alpha_slider;
double alpha;
double beta;//存储矩阵
Mat src1, src2, dst;void on_tracker(int, void*);
int main(int argc, char* argv[])
{src1 = imread("C:/Users/lyb/Documents/Visual Studio 2013/Projects/ConsoleApplication trackbar/Debug/1.jpg");src2 = imread("C:/Users/lyb/Documents/Visual Studio 2013/Projects/ConsoleApplication trackbar/Debug/2.jpg");if (!src1.data){ cout << "Error loading src1" << endl; return -1; }     //判断载入是否成功if (!src2.data){ cout << "Error loading src2" << endl; return -1; }alpha_slider = 0;namedWindow("Linear_blend");//namedWindow("control_image");//建立滑块char TrackbarName[50];sprintf(TrackbarName, "Alpha x %d", alpha_slider_max);//标准写入字符串createTrackbar(TrackbarName, "Linear_blend", &alpha_slider, alpha_slider_max, on_tracker);//参数1滑块名称  参数2显示窗口  参数3 OPENCV将当前滑块位置值传给指针指向的整数   参数4滑块调整范围最大值  参数5指向回调函数的指针,当滑动条被拖动时,函数自动调用on_tracker(alpha_slider, 0);waitKey(0);return 0;}void on_tracker(int, void*)  //滑块所对应的操作函数   对图像进行线性混合 
{alpha = (double)alpha_slider / alpha_slider_max;beta = (1.0 - alpha);addWeighted(src1, alpha, src2, beta, 0.0, dst);/*cvAddWeighted 计算两数组的加权值的和:  dst(I) = src1(I)*alpha + src2(I)*beta + gamma cvAddWeighted( const CvArr* src1, double alpha,  const CvArr* src2, double beta,  double gamma, CvArr* dst );src1  //第一个原数组.alpha  //第一个数组元素的权值src2  //第二个原数组beta  //第二个数组元素的权值gamma  //添加的常数项。dst  //输出数组*/imshow("Linear_blend", dst);
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/255483.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

chrome浏览器开发模式实现跨域

2019独角兽企业重金招聘Python工程师标准>>> 增加如下参数&#xff0c; --disable-web-security --user-data-dir 启动项变为&#xff1a; "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir 转载于…

C#替换字符串起始/结尾指定的字符串

#region 替换字符串起始位置(开头)中指定的字符串/// <summary> /// 替换字符串起始位置(开头)中指定的字符串 /// </summary> /// <param name"s">源串</param> /// <param name"searchStr">查找的串</param> /…

腐蚀函数cvErode 和 膨胀函数cvDilate

Erode腐蚀&#xff0c; Dilate膨胀&#xff0c;这两个形态学函数总是成对出现&#xff0c;前者可以消除较小的点如噪音&#xff0c;后者可以使不连通的图像合并成块。 void cvErode( const CvArr* src, CvArr* dst, IplConvKernel* elementNULL, int iterations1 ); void cvDi…

Zookeeper和分布式环境中的假死脑裂问题(转)

Zookeeper和分布式环境中的假死脑裂问题 最近和同事聊天无意间发现他们的系统也存在脑裂的问题。想想当初在我们的系统中为了解决脑裂花了非常大的功夫&#xff0c;现在和大家一起讨论下脑裂&#xff0c;假死等等这些问题和解决的方法。 在一个大集群中往往会有一个master存在…

安全

2019独角兽企业重金招聘Python工程师标准>>> 1、不要使用页面变量进行传递值&#xff0c;用session 转载于:https://my.oschina.net/u/2277088/blog/1621841

3D打印材料PLA,ABS对比

转载于:https://www.cnblogs.com/sztom/p/6373910.html

【pyqt5学习】——控件绑定槽函数的同时利用lambda实现传参

两种方法&#xff1a; 1、利用pyqtsignal的emit进行传参 2、connect函数进行传参 self.pushButton.clicked.connect(lambda:self.readZodiacByButtonText(self.pushButton.text())) # 根据按钮上的文字来进行阅读def readZodiacByButtonText(self,text):if self.language &…

lab3

lamp: 在阿里云linux&#xff08;Ubuntu&#xff09;上安装Apache mysql php &#xff1a; apt-get install mysql_server mysql_client php5 php_mysql apache2 系统会提示正确的包的名称 安装ECShop 在本地命令行 scp ecshop.zip rootxxx.xxx.xx.xxx:/var/www/ 把压缩文件拷贝…

【python学习】——pyttsx3库实现文本朗读、音量、音速等调节

import pyttsx3# 初始化朗读引擎 engine pyttsx3.init() # 设置朗读速度 self.engine.setProperty(rate, 120) # text为需要读取的内容 self.engine.say(text) # 不添加下面这句&#xff0c;没有声音 self.engine.runAndWait()pyttsx3其他应用&#xff1a; python pyttsx3实现…

【pyqt5学习】——添加菜单栏动作action,给动作触发triggered绑定事件

1、打开qt-designer工具——视图——勾选上动作编辑器 2、勾选后右下方会出现动作编辑器栏 3、在改面板可以进行已有动作的属性编辑&#xff0c;也可以添加新的动作 4、 鼠标左键选中动作不松开&#xff0c;可以将动作拖到菜单栏 5、给动作绑定事件 self.saveLog.triggered.co…

C# / VB.NET合并PDF指定页

在前面的文章中&#xff0c;我们已经知道如何合并、拆分多个PDF文件&#xff0c;在这篇文章中的合并、拆分PDF文档主要是以方便文档管理的目的来操作文档&#xff0c;在文档查阅、管理及存储上很方便实用。但是我们如果想要合并多个文档中的部分文档页的内容&#xff0c;该如何…

高级异常

一、什么是异常 解析&#xff1a;异常就是在程序的运行过程中所发生的不正常事件 二、Java异常处理是通过5个关键字来解决的&#xff1a;try、catch、finally、&#xff08;前三个是捕获异常&#xff09;throw&#xff08;手动抛出异常&#xff09;、throws&#xff08;声明异常…

【纠错】——错误:PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。“+解决方案

目录 问题出现场景 原因 解决方案 问题出现场景 先打开pdf文件&#xff0c;获取pdf文件内容后&#xff0c;利用os.remove()来删除文件&#xff0c;这时候出现错误 os.remove(source_path)PermissionError: [WinError 32] 另一个程序正在使用此文件&#xff0c;进程无法访问。…

Eclipse中自动添加注释

方法一&#xff1a;Eclipse中设置在创建新类时自动生成注释 windows-->preference   Java-->Code Style-->Code Templates     code-->new Java files 编辑它 ${filecomment} ${package_declaration} /** * Author fufu* Time ${date} ${time} * Version 1.…

使用rancher创建负载均衡服务

2019独角兽企业重金招聘Python工程师标准>>> 2台主机&#xff0c;一个server包含2个容器进程&#xff08;可以是多个&#xff09;&#xff0c;一个负载均衡容器&#xff08;貌似是依赖haproxy的&#xff09; 1&#xff0c;创建一个镜像&#xff0c;编辑Dockerfile 创…

Six Basic Functional Areas of Spring

转载于:https://www.cnblogs.com/Brake/p/5440738.html

【pyqt5学习】——登录界面跳转到主界面,登录界面关闭的情况下从主界面跳转回登录界面

目录 一、登录界面长下面这样&#xff0c;由qt designer设计 login.py 二、登录界面 逻辑代码loginLogic.py 三、主界面comsumeType.py 四、主界面逻辑代码comsumeTypeLogic.py 五、登录界面跳转至主界面 六、主界面回到登录界面 一、登录界面长下面这样&#xff0c;由qt d…

WPF ClickOnce应用程序IIS部署发布攻略

WPF程序非常适合公司内网使用&#xff0c;唯一缺点就是客户端要安装.net框架4.0。优势也很明显&#xff0c;在客户端运行的是一个WinForm程序&#xff0c;自动下载&#xff0c;可以充分利用客户机的性能&#xff0c;而且是以当前的Windows用户权限运行&#xff0c;避免了权限带…

文件传输协议

文件传输协议&#xff08;英文&#xff1a;File Transfer Protocol&#xff0c;简称为FTP&#xff09;是用于在网络上进行文件传输的一套标准协议。它属于网络传输协议的应用层。 FTP是一个8位的客户端-服务器协议&#xff0c;能操作任何类型的文件而不需要进一步处理&#xff…

【python学习】——为exe软件创建快捷方式;实现软件自启动

目录 1、为exe创建快捷方式 2、实现软件自启动 3、完整代码 4、结果展示 1、为exe创建快捷方式 利用winshell库的CreateShortCut函数进行创建 【python学习】——获取桌面路径&#xff0c;获取系统盘符&#xff0c;获取电脑用户名&#xff0c;获取软件自启动存放目录_有情怀…