天天看點

opencv-建立跟蹤條

#include <cv.h>
#include <highgui.h>

using namespace cv;

const int alpha_slider_max=100;
int alpha_slider;
double alpha;
double beta;

Mat src1,src2,dst;

void on_tracker(int,void* )
{
   alpha = (double)alpha_slider/alpha_slider_max;
   beta  = ( 1.0 - alpha );

   addWeighted( src1,alpha,src2,beta,0.0,dst);

   imshow("Linear Blend",dst);
}

int main( int argc, char** argv )
{

   //讀取圖像大小和類型
   src1 = imread("D:\\LinuxLogo.jpg");
   src2 = imread("D:\\WindowsLogo.jpg");

   if( !src1.data ) { printf("Error loading src1 \n"); return -1; }
   if( !src2.data ) { printf("Error loading src2 \n"); return -1; }

   alpha_slider =0;

   //建立視窗
   namedWindow("Linear Blend", 1);

   //建立跟蹤條
   char TrackbarName[50];
   sprintf(TrackbarName,"Linear Blend",alpha_slider_max);

   createTrackbar(TrackbarName,"Linear Blend",&alpha_slider,alpha_slider_max,on_tracker);

   //顯示一些内容
   on_tracker(alpha_slider,0);

   waitKey(0);
   return 0;
}      
opencv-建立跟蹤條

繼續閱讀