首页 > 代码库 > OpenCV Tutorials —— Adding (blending) two images using OpenCV
OpenCV Tutorials —— Adding (blending) two images using OpenCV
An interesting dyadic (two-input) operator is thelinear blend operator:
#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; /// 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("../../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; } /// 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;}
注意 :可以用 src1=src1(Range(0:cols),Range(0:rows));
来进行图像的截取,而且,是先cols 然后 rows
OpenCV Tutorials —— Adding (blending) two images using OpenCV
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。