本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.

源代码:

  1. #include "widget.h"
  2. #include "ui_widget.h"
  3. #include "public.h"
  4. Widget::Widget(QWidget *parent) :
  5. QWidget(parent),
  6. ui(new Ui::Widget)
  7. {
  8. ui->setupUi(this);
  9. cvNamedWindow("jdh1",1);
  10. cvNamedWindow("jdh2",1);
  11. cvNamedWindow("jdh3",1);
  12. src1 = cvLoadImage("test.jpg");
  13. src2 = cvLoadImage("lena.jpg");
  14. dst = cvLoadImage("test.jpg");
  15. QString str;
  16. str.setNum(src1->width);
  17. ui->lineEdit->setText(str);
  18. str.setNum(src1->height);
  19. ui->lineEdit_2->setText(str);
  20. str.setNum(src2->width);
  21. ui->lineEdit_3->setText(str);
  22. str.setNum(src2->height);
  23. ui->lineEdit_4->setText(str);
  24. }
  25. Widget::~Widget()
  26. {
  27. delete ui;
  28. cvReleaseImage(&src1);
  29. cvReleaseImage(&src2);
  30. cvReleaseImage(&dst);
  31. cvDestroyAllWindows();
  32. }
  33. void Widget::on_pushButton_clicked()
  34. {
  35. bool ok;
  36. double alpha,beta,temp;
  37. int x,y,width,height;
  38. temp = ui->lineEdit_7->text().toDouble(&ok);
  39. if (ok)
  40. {
  41. alpha = temp;
  42. }
  43. else
  44. {
  45. alpha = 0.4;
  46. }
  47. cout << alpha << endl;
  48. temp = ui->lineEdit_8->text().toDouble(&ok);
  49. if (ok)
  50. {
  51. beta = temp;
  52. }
  53. else
  54. {
  55. beta = 0.6;
  56. }
  57. cout << beta << endl;
  58. x= ui->lineEdit_5->text().toInt(&ok,10);
  59. cout << x << endl;
  60. y = ui->lineEdit_6->text().toInt(&ok,10);
  61. cout << y << endl;
  62. width = ui->lineEdit_9->text().toInt(&ok,10);
  63. cout << width << endl;
  64. height = ui->lineEdit_10->text().toInt(&ok,10);
  65. cout << height << endl;
  66. cvSetImageROI(src1,cvRect(x,y,width,height));
  67. cvSetImageROI(src2,cvRect(x,y,width,height));
  68. cvSetImageROI(dst,cvRect(x,y,width,height));
  69. cvAddWeighted(src1,alpha,src2,beta,0.0,dst);
  70. cvResetImageROI(src1);
  71. cvResetImageROI(src2);
  72. cvResetImageROI(dst);
  73. cvShowImage("jdh1",src1);
  74. cvShowImage("jdh2",src2);
  75. cvShowImage("jdh3",dst);
  76. }

效果图:

http://blog.csdn.net/jdh99/article/details/6401000

qt+opencv对两幅图片进行融合的更多相关文章

  1. Opencv实现两幅图像融合

    实现两幅图像线性(不同系数下)的融合涉及到Opencv中两个关键的方法,addWeighted()和createTrackbar() addWeighted方法: 函数原型: void addWeig ...

  2. (3两个例子)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练

    从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html2环境架设http://www.cn ...

  3. Qt opencv程序运行异常

    搭建了两次qt opencv vs ,经常出现程序运行异常.找了几个原因如下: 1.opencv的路径未配置或配置有误. 2.qt中pro文件包含不正确. 3.测试opencv程序不正确.如视频或图片 ...

  4. (7拾遗)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练

    从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html2环境架设http://www.cn ...

  5. (6综合实验)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练

    从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html2环境架设http://www.cn ...

  6. (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练

    从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html2环境架设http://www.cn ...

  7. (2环境架设)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练

    从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html2环境架设http://www.cn ...

  8. (4程序框架)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练

    从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html2环境架设http://www.cn ...

  9. (5编译使用最新opencv)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练

    从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练 1综述http://www.cnblogs.com/jsxyhelu/p/7907241.html 2环境架设http://www.c ...

随机推荐

  1. 《大规模Web服务开发技术》

    Web 服务开发的心灵鸡汤 周末去上海陪妹子的两天在路途上看完了这本<大规模 Web 服务开发技术>. <大规模 Web 服务开发技术>是日本的 Hetena 团队以夏天举办的 ...

  2. Linux input

    Linux input 输入设备都有共性:中断驱动+字符IO,基于分层的思想,Linux内核将这些设备的公有的部分提取出来,基于cdev提供接口,设计了输入子系统,所有使用输入子系统构建的设备都使用主 ...

  3. C#颜色对照使用表

    这篇文章来来源于C# Color Table,这里是我翻译的中文版本,其中已经加上了我的一些理解和注释.翻译这篇文章的原因是我在写C#程序的时候发现,C#自带的颜色种类极多(详见下表),如果没有直观的 ...

  4. Redis实战:如何构建类微博的亿级社交平台

    微博及 Twitter 这两大社交平台都重度依赖 Redis 来承载海量用户访问.本文介绍如何使用 Redis 来设计一个社交系统,以及如何扩展 Redis 让其能够承载上亿用户的访问规模. 虽然单台 ...

  5. 配置文件——App.config文件读取和修改

    作为普通的xml文件读取的话,首先就要知道怎么寻找文件的路径.我们知道一般配置文件就在跟可执行exe文件在同一目录下,且仅仅在名称后面添加了一个.config 因此,可以用Application.Ex ...

  6. 微信公众平台消息接口开发(31)微信浏览器HTTP_USER_AGENT判断

    微信公众平台开发 微信公众平台开发者 微信公众平台开发模式 微信浏览器 HTTP_USER_AGENT作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/archiv ...

  7. BLAS 与 Intel MKL 数学库

    0. BLAS BLAS(Basic Linear Algebra Subprograms)描述和定义线性代数运算的规范(specification),而不是一种具体实现,对其的实现包括: AMD C ...

  8. 办ZigBee实验SmartRF Flash Programmer软件界面无法打开

    开SmartRF Flash Programmer: 打开任务管理器.在任务管理器里右键点击.将其最大化: 将最大化的界面拖动到屏幕中间: 然后关闭SmartRF Flash Programmer,之 ...

  9. 潜移默化学会WPF(绚丽篇)--热烈欢迎RadioButton,改造成功,改造成ImageButton,新版导航

    原文:潜移默化学会WPF(绚丽篇)--热烈欢迎RadioButton,改造成功,改造成ImageButton,新版导航 本样式 含有  触发器 和 动画    模板  ,多条件触发器,还有布局 本人博 ...

  10. maven_默认新建项目jdk1.6_默认配置

    <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://mav ...