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 ...
随机推荐
- 微信小程序开发demo-地图定位
要求要完成的功能: 1.要完成的要点是城市定位. 2.就是切换城市. 首页我们先参照微信小程序开放的官方文档找到: 在这里我们可以找到”当前位置经纬度“ getLocation: function ( ...
- 使用Java Service Wrapper将java程序作为linux服务并且开机自动启动
以java应用程序为例,打包为tianlong.jar,程序入口为tianlong.QueueTest. 下面在linux的/opt下建立tianlong目录,复制tianlong.jar到/opt/ ...
- linux下jar包的生存与开机自动启动
前言 作为一名Android开发,有的时候也是要做做其他工作的,前段时间写了一个很简单的java消息转发程序,因为和三方厂商合作,对方只提供了java的sdk,然而我们这边都是清一色的C#后台开发人员 ...
- M创aterial Design作风Android申请书--创建列表和卡
本人全部文章首先公布于个人博客,欢迎关注,地址:http://blog.isming.me 上次说过使用主题,应用Material Design的样式,同一时候卡片布局也是Material Desig ...
- [Cordova+Sencha Touch] 移动开发1 sencha 2.4.0 + 在 安卓2.3.6上使用报错 - has no method 'bind'
Sencha Touch 2.3.2和2.4.0在安卓2.3上面用会报错,具体报错信息如下: 解决办法是: 打开文件:你的file:///android_asset/www/sencha-touch- ...
- Cordova 集成极光推送
1.申请极光推送账号,创建应用,配置包等信息,可以获得AppKey,用于添加Cordova插件,这部分暂不细讲,根据官网的提示操作就能完成. 2.命令窗口给cordova项目添加极光推送插件 cord ...
- 修改MessageBox的标题的做法
作者:朱金灿 来源:http://blog.csdn.net/clever101 1.用Win API的::MessageBox或CWnd::MessageBox代替AfxMessageBox. 2. ...
- ubuntu grub 操作
系统开机时,按住 shift 进入 grub 1. 什么是 Grub GNU GRUB(GRand Unified Bootloader 简称"GRUB")是一个来自GNU项目的多 ...
- WPF,Silverlight与XAML读书笔记第三十九 - 可视化效果之3D图形
原文:WPF,Silverlight与XAML读书笔记第三十九 - 可视化效果之3D图形 说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘> ...
- Leetcode dfs Combination Sum
Combination Sum Total Accepted: 17319 Total Submissions: 65259My Submissions Given a set of candidat ...