博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenCV两张图片的合并
阅读量:4648 次
发布时间:2019-06-09

本文共 1640 字,大约阅读时间需要 5 分钟。

转载请注明出处。。!

OpenCV两张图片的合并

     原理:

       两张图片合并,想想图片是用一个个像素点来存储。每一个像素点有他的值。

那么合并,无非就是像素点值得合并,使用的公式能够就是给两张图片分别一个权值。然后求和。向以下这个公式:

       的值位于0至1之间

     OpenCV实现:

       那么我们在openCV内怎么实现呢?在openCV中,有一个函数。函数详细调用能够看。

读取完两个要合并的图片后。(注意。这里合并的图片必须是同样的size和type,就是说图片长宽像素数一样。color存储方式要一样。我选的是388*388的png图片

/// Read image ( same size, same type )       src1= imread("zh.png");       src2= imread("zh2.png");

调用addWeighted函数。

beta = ( 1.0 - alpha );addWeighted( src1, alpha, src2, beta, 0.0,dst);

       这里src1和src2都是读取之后的矩阵,alpha和beta是他们的权重。

事实上addWeighted的过程是以下的公式:

       这里的Y是0.0。

       好,让我们动手来做这个操作。代码例如以下:

#include 
#include
#include
#include
#include
using namespace cv;int main(){ double alpha = 0.5; double beta; double input; Mat src1, src2, dst; /// Ask the user enter alpha std::cout << " Simple Linear Blender " << std::endl; std::cout << "-----------------------" << std::endl; std::cout << "* Enter alpha [0-1]: "; std::cin >> input; /// We use the alpha provided by the user if it is between 0 and 1 if (input >= 0.0 && input <= 1.0) { alpha = input; } /// Read image ( same size, same type ),注意,这里一定要同样大小。同样类型,否则出错 src1 = imread("zh.png"); src2 = imread("zh2.png"); if (!src1.data) { printf("Error loading src1 \n"); return -1; } if (!src2.data) { printf("Error loading src2 \n"); return -1; } /// Create Windows namedWindow("Linear Blend", 1); beta = (1.0 - alpha); addWeighted(src1, alpha, src2, beta, 0.0, dst); //这里调用了addWeighted函数,得到的结果存储在dst中 imshow("Linear Blend",dst); waitKey(); return 0;}

结果:

图片1:

 

图片2:

 

合并后的图片:

转载于:https://www.cnblogs.com/zfyouxi/p/5054760.html

你可能感兴趣的文章
ubuntu通过vmware与访问宿主的文件
查看>>
mysql 5.7 二进制安装方法
查看>>
244. Shortest Word Distance II
查看>>
385. Mini Parser
查看>>
React-组件的生命周期
查看>>
Git详解之四:服务器上的Git
查看>>
[NOIP2002]矩形覆盖
查看>>
JavaScript 复杂判断的更优雅写法借鉴
查看>>
hdu 5186 zhx's submissions
查看>>
<mvc:annotation-driven/>浅析
查看>>
ArcEngine开发之自定义工具
查看>>
SQL视频总结
查看>>
P4878 道路修建-美国
查看>>
dp练习
查看>>
vim
查看>>
苹果电脑包管理
查看>>
maze_travel的隐私声明
查看>>
对正则表达式又重新学了一遍,笔记方便以后查阅
查看>>
NSArray和NSString的联合使用
查看>>
UIKit应用 - Swift 版本: 3.让UITableViewCell的背景色渐变
查看>>