TM.cpp
上传用户:cfkj28
上传日期:2022-07-27
资源大小:1k
文件大小:2k
源码类别:

OpenCV

开发平台:

Visual C++

  1. #include <stdio.h>
  2. #include <cv.h>
  3. #include <highgui.h>
  4. #include <math.h>
  5. int main()
  6. {
  7. IplImage *src, *templ, *ftmp[6]; // ftmp will hold results
  8. int i;
  9. // Read in the source image to be searched
  10. src = cvLoadImage("MGC.jpg");
  11. if(src== 0) {
  12.             printf("Error on reading template %sn","temp"); 
  13.             return(-1);
  14.     }
  15. // Read in the template to be used for matching:
  16. templ = cvLoadImage("template.jpg");
  17. if(templ== 0) {
  18.             printf("Error on reading template %sn","temp"); 
  19.             return(-1);
  20.     }
  21. // Allocate Output Images:
  22. int iwidth = src->width - templ->width + 1;
  23. int iheight = src->height - templ->height + 1;
  24. for(i = 0; i < 6; ++i){
  25. ftmp[i]= cvCreateImage( cvSize( iwidth, iheight ), 32, 1 );
  26. }
  27. // Do the matching of the template with the image
  28. for( i = 0; i < 6; ++i ){
  29. cvMatchTemplate( src, templ, ftmp[i], i );
  30. cvNormalize( ftmp[i], ftmp[i], 1, 0, CV_MINMAX );
  31. }
  32. // DISPLAY
  33. cvNamedWindow( "Template", 0 );
  34. cvShowImage( "Template", templ );
  35. cvNamedWindow( "Image", 0 );
  36. cvShowImage( "Image", src );
  37. cvNamedWindow( "SQDIFF", 0 );
  38. cvShowImage( "SQDIFF", ftmp[0] );
  39. cvNamedWindow( "SQDIFF_NORMED", 0 );
  40. cvShowImage( "SQDIFF_NORMED", ftmp[1] );
  41. cvNamedWindow( "CCORR", 0 );
  42. cvShowImage( "CCORR", ftmp[2] );
  43. cvNamedWindow( "CCORR_NORMED", 0 );
  44. cvShowImage( "CCORR_NORMED", ftmp[3] );
  45. cvNamedWindow( "COEFF", 0 );
  46. cvShowImage( "COEFF", ftmp[4] );
  47. cvNamedWindow( "COEFF_NORMED", 0 );
  48. cvShowImage( "COEFF_NORMED", ftmp[5] );
  49. cvWaitKey(0);
  50. return 0;
  51. }