OpenCV图像的基础叠加
2024-10-02 00:39:16
程序及分析
/*
* FileName : blend.cpp
* Author : xiahouzuoxin @163.com
* Version : v1.0
* Date : Mon 28 Jul 2014 08:47:59 PM CST
* Brief :
*
* Copyright (C) MICL,USTB
*/
#include <cv.h>
#include <highgui.h>
#include <stdio.h> using namespace std;
using namespace cv; int main(int argc, char *argv[])
{
double alpha = 0.5;
double beta;
double input; Mat src1, src2, dst; // User input alpha
cout<<"Simple Linear Blender" << endl;
cout<<"---------------------" << endl;
cout<<"Enter alpha [0-1]: ";
cin>>input; if (alpha >=0 && alpha <=1) {
alpha = input;
} // Read images
src1 = imread("../test_imgs/KeNan.jpg");
src2 = imread("../test_imgs/Background.jpg"); if (!src1.data) {
cout<<"Error loading src1\n"<<endl;
return -1;
}
if (!src2.data) {
cout<<"Error loading src2\n"<<endl;
return -1;
} // Create WIndows
namedWindow("Linear Blend", 1); beta = (1.0 - alpha);
addWeighted(src1, alpha, src2, beta, 0.0, dst); imshow("Linear Blend", dst);
waitKey(0); return 0;
}
这里的图像叠加指线性叠加,设图像A的像素为fA(x),图像B的像素为fB(x)。叠加系数为α,则线性叠加操作为:
α为0-1之间的值,从上面也能够看出,叠加必需保证两幅输入图像的尺寸大小同样。程序中的
addWeighted(src1, alpha, src2, beta, 0.0, dst);
完毕叠加操作。
效果
版权声明:本文博主原创文章。博客,未经同意不得转载。
最新文章
- 获取使用ClickOnce部署的应用程序的版本号
- Visual Studio 调试技巧
- USACO/friday
- 未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” 提供程序解决办法
- [wikioi]关押罪犯
- ECSTORE2.0 去页面底部版权
- 修改spfile导致oracle无法启动
- size_t
- Raspiberry Camera详解+picamera库+Opencv控制
- Jquery简单学习
- 使用 Nexus Repository Manager 搭建 npm 私服
- Android-Nexus5-命令刷机
- jquery load 陷阱【原】
- $_SERVER[&#39;HTTP_REFER&#39;] 和 session cookie 关系
- python 字符串,列表,元组,字典相互转换
- php实现远程网络文件下载到服务器指定目录(方法二)
- c# 日期函数[string.Format----GetDateTimeFormats]格式
- 廖雪峰Java1-2Java程序基础-2变量和数据类型
- 几张图理解Roll, Pitch, Yaw的含义
- 虚拟机和主机文件实时同步 -- winsshfs的快速入手