2
* @file LinearBlend.cpp
3
* @brief Simple linear blender ( dst = alpha*src1 + beta*src2 )
7
#include "opencv2/imgcodecs.hpp"
8
#include "opencv2/highgui/highgui.hpp"
13
/** Global Variables */
14
const int alpha_slider_max = 100;
19
/** Matrices to store images */
25
* @function on_trackbar
26
* @brief Callback for trackbar
28
static void on_trackbar( int, void* )
30
alpha = (double) alpha_slider/alpha_slider_max ;
32
beta = ( 1.0 - alpha );
34
addWeighted( src1, alpha, src2, beta, 0.0, dst);
36
imshow( "Linear Blend", dst );
42
* @brief Main function
46
/// Read image ( same size, same type )
47
src1 = imread("../data/LinuxLogo.jpg");
48
src2 = imread("../data/WindowsLogo.jpg");
50
if( src1.empty() ) { printf("Error loading src1 \n"); return -1; }
51
if( src2.empty() ) { printf("Error loading src2 \n"); return -1; }
57
namedWindow("Linear Blend", 1);
60
char TrackbarName[50];
61
sprintf( TrackbarName, "Alpha x %d", alpha_slider_max );
62
createTrackbar( TrackbarName, "Linear Blend", &alpha_slider, alpha_slider_max, on_trackbar );
65
on_trackbar( alpha_slider, 0 );
67
/// Wait until user press some key