(12)Air Band OpenCV2.4.13_将两幅图片叠加

来源:互联网 发布:ansys软件介绍 编辑:程序博客网 时间:2024/04/30 10:21

本文是对OpenCV2.4.13文档的部分翻译,作个人学习之用,并不完整。


可以对像素做线性操作:

H(x) = (1-a)f(x) + ag(x)

#include <cv.h>#include <highgui.h>#include <iostream>using namespace cv;int main( int argc, char** argv ){double alpha = 0.5; double beta; double input;Mat src1, src2, dst;std::cout<<" Simple Linear Blender "<<std::endl;std::cout<<"-----------------------"<<std::endl;std::cout<<"* Enter alpha [0-1]: ";std::cin>>input;//输入透明度if( input >= 0.0 && input <= 1.0 )alpha = input;src1 = imread("../../images/LinuxLogo.jpg");src2 = imread("../../images/WindowsLogo.jpg");//读取图像if( !src1.data ) { printf("Error loading src1 \n"); return -1; }if( !src2.data ) { printf("Error loading src2 \n"); return -1; }namedWindow("Linear Blend", 1);//创建窗口beta = ( 1.0 - alpha );addWeighted( src1, alpha, src2, beta, 0.0, dst);//生成H(x)图像dst=alpha*src1+beta*src2+0.0imshow( "Linear Blend", dst );//显示新图像waitKey(0);//等待用户关闭窗口return 0;}







0 0
原创粉丝点击