本文博客链接: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. 动态备份SQL-SERVER数据库——SQLDMO

    转载:http://www.cnblogs.com/liulanglang/archive/2007/12/04/981812.html 上周要写一个SQL-SERVER数据库备份还原的程序,很没有思 ...

  2. CSS拾遗(二)

    接CSS拾遗(一). 4. 不透明度 opacity: 0.8; filter: alpha(opacity=80); opacity: 0.8是标准的写法:filter: alpha(opacity ...

  3. 【u114】旅行计划(12月你好)

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 小明要去一个国家旅游.这个国家有N个城市,编号为1-N,并且有M条道路连接着,小明准备从其中一个城市出 ...

  4. telnet 的使用(ping 与 telnet)

    基本用法 >> telnet localhost 23 // 23 表示 telnet 服务的端口号,不写端口号也可以,telnet 默认绑定的端口号就是 23 // netstat -a ...

  5. Multiple address space mapping technique for shared memory wherein a processor operates a fault handling routine upon a translator miss

    Virtual addresses from multiple address spaces are translated to real addresses in main memory by ge ...

  6. WPF去除边框的方法

    原文:WPF去除边框的方法 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/yangsen600/article/details/81978125 W ...

  7. [C/C++]_[VS2010使用源代码UTF8中国字符串转码ANSI问题]

    场景: 1.思想vs设置源文件UTF8编码,的代码串中国出现在它必须是utf8编码.不幸的是没有,假设源代码出现在中国字符串,在内存公交码ANSI编码. Unicode(UTF8) 代码页(65001 ...

  8. 概率分布的 perplexity

    1. 一种 measurement 信息论中,perplexity is a measurement of how well a probability distribution or probabi ...

  9. [WPF疑难]ErrorTemplate显示与隐藏问题

    原文:[WPF疑难]ErrorTemplate显示与隐藏问题 [WPF疑难]ErrorTemplate显示与隐藏问题                                         周 ...

  10. Qt移动应用开发(六):QML与C++互动

    Qt移动应用开发(六):QML与C++互动 上一篇文章讲到了在Qt Quick中实现场景切换的一种可能的方法,场景切换是诸如游戏等应用在内必需要面临的技术难点,所以场景切换并没有通行的方法,依据自己的 ...