qt+opencv对两幅图片进行融合
本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.
源代码:
- #include "widget.h"
- #include "ui_widget.h"
- #include "public.h"
- Widget::Widget(QWidget *parent) :
- QWidget(parent),
- ui(new Ui::Widget)
- {
- ui->setupUi(this);
- cvNamedWindow("jdh1",1);
- cvNamedWindow("jdh2",1);
- cvNamedWindow("jdh3",1);
- src1 = cvLoadImage("test.jpg");
- src2 = cvLoadImage("lena.jpg");
- dst = cvLoadImage("test.jpg");
- QString str;
- str.setNum(src1->width);
- ui->lineEdit->setText(str);
- str.setNum(src1->height);
- ui->lineEdit_2->setText(str);
- str.setNum(src2->width);
- ui->lineEdit_3->setText(str);
- str.setNum(src2->height);
- ui->lineEdit_4->setText(str);
- }
- Widget::~Widget()
- {
- delete ui;
- cvReleaseImage(&src1);
- cvReleaseImage(&src2);
- cvReleaseImage(&dst);
- cvDestroyAllWindows();
- }
- void Widget::on_pushButton_clicked()
- {
- bool ok;
- double alpha,beta,temp;
- int x,y,width,height;
- temp = ui->lineEdit_7->text().toDouble(&ok);
- if (ok)
- {
- alpha = temp;
- }
- else
- {
- alpha = 0.4;
- }
- cout << alpha << endl;
- temp = ui->lineEdit_8->text().toDouble(&ok);
- if (ok)
- {
- beta = temp;
- }
- else
- {
- beta = 0.6;
- }
- cout << beta << endl;
- x= ui->lineEdit_5->text().toInt(&ok,10);
- cout << x << endl;
- y = ui->lineEdit_6->text().toInt(&ok,10);
- cout << y << endl;
- width = ui->lineEdit_9->text().toInt(&ok,10);
- cout << width << endl;
- height = ui->lineEdit_10->text().toInt(&ok,10);
- cout << height << endl;
- cvSetImageROI(src1,cvRect(x,y,width,height));
- cvSetImageROI(src2,cvRect(x,y,width,height));
- cvSetImageROI(dst,cvRect(x,y,width,height));
- cvAddWeighted(src1,alpha,src2,beta,0.0,dst);
- cvResetImageROI(src1);
- cvResetImageROI(src2);
- cvResetImageROI(dst);
- cvShowImage("jdh1",src1);
- cvShowImage("jdh2",src2);
- cvShowImage("jdh3",dst);
- }
效果图:

http://blog.csdn.net/jdh99/article/details/6401000
qt+opencv对两幅图片进行融合的更多相关文章
- Opencv实现两幅图像融合
实现两幅图像线性(不同系数下)的融合涉及到Opencv中两个关键的方法,addWeighted()和createTrackbar() addWeighted方法: 函数原型: void addWeig ...
- (3两个例子)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html2环境架设http://www.cn ...
- Qt opencv程序运行异常
搭建了两次qt opencv vs ,经常出现程序运行异常.找了几个原因如下: 1.opencv的路径未配置或配置有误. 2.qt中pro文件包含不正确. 3.测试opencv程序不正确.如视频或图片 ...
- (7拾遗)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html2环境架设http://www.cn ...
- (6综合实验)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html2环境架设http://www.cn ...
- (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html2环境架设http://www.cn ...
- (2环境架设)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html2环境架设http://www.cn ...
- (4程序框架)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html2环境架设http://www.cn ...
- (5编译使用最新opencv)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html 2环境架设http://www.c ...
随机推荐
- Android学习--Assets资源文件读取及AssetManager介绍
APK安装过程 复制APK安装包到data/app目录下,解压并扫描安装包,把dex文件(Dalvik字节码)保存到dalvik-cache目录,并data/data目录下创建对应的应用 ...
- 数据竞赛利器 —— xgboost 学习清单
1. 入门大全 xgboost 作者给出的一份完备的使用 xgboost 进行数据分析的完整示例代码:A walk through python example for UCI Mushroom da ...
- Spring boot quartz的相关资源
https://github.com/82253452/banner https://github.com/lvhao/schedule-job/tree/master/src/main/java/c ...
- 数据批量插入MSSQL
MSSQL数据批量插入优化详细 序言 现在有一个需求是将10w条数据插入到MSSQL数据库中,表结构如下,你会怎么做,你感觉插入10W条数据插入到MSSQL如下的表中需要多久呢? 或者你的批量数据 ...
- Retrieving data from a server
A system includes a server and a controller embedded in a device. Both the server and the embedded c ...
- 使用nfs映射远程服务器磁盘目录
参考:http://www.centoscn.com/CentosSecurity/SoftSecurity/2015/0408/5118.html http://www.cnblo ...
- WPF中3D旋转的实现
原文:WPF中3D旋转的实现 关于3D旋转的原理,请看Daniel Lehenbauer的文章 <Rotating the Camera with the Mouse> http://vi ...
- Oltu在Jersey框架上实现oauth2.0授权模块
oltu是一个开源的oauth2.0协议的实现,本人在此开源项目的基础上进行修改,实现一个自定义的oauth2.0模块. 关于oltu的使用大家可以看这里:http://oltu.apache.org ...
- WPF 实现拖动工具箱效果
原文:WPF 实现拖动工具箱效果 1.效果 点击左边的矩形拖动到右边canvas面板,右边面板添加矩形 2.布局 左边是个StockPanel,上面有个矩形,右边是个Canvas面板. 矩形是源,Ca ...
- 离散时间信号常见函数的实现(matlab)
1. 单位样本序列 δ(n−n0)={1,n=n00,n≠n0 function [x, n] = impseq(n0, n1, n2) n = n1:n2; x = [n == n0]; 2. 单位 ...