haus.cpp
上传用户:wjfckcom
上传日期:2014-06-28
资源大小:1989k
文件大小:1k
源码类别:

OpenCV

开发平台:

Visual C++

  1. #include "haus.h"
  2. float Hausdorff(struct rateseq m, struct rateseq n,  struct contourrate * seq1,
  3. struct contourrate * seq2)
  4. {
  5. // seq1[m.index];
  6. // seq2[n.index];
  7. float t = 0.0; 
  8. float k[21];
  9. int i,j;
  10. for(i=m.index-10; i<m.index+10; i++)
  11. {
  12. for(j=n.index-10; j<n.index+10; j++)
  13. {
  14. t=abs(seq1[i].q-seq2[j].q);
  15. if(k[i-m.index+10]>t)
  16. k[i-m.index+10]=t;
  17. }
  18. }
  19. //sequence k[21]  ,get the maxvalue
  20. // for(i = 0; i<20; i++)
  21. for(j=1; j<21; j++)
  22. {
  23. if (k[0]<k[j])
  24. {
  25. float temp = k[0];
  26. k[0] = k[j];
  27. k[j] = temp;
  28. }
  29. continue;
  30. }
  31. return k[0];
  32. }
  33. extern IplImage* stack_imgs( IplImage* img1, IplImage* img2 )
  34. {
  35. IplImage* stacked = cvCreateImage( cvSize( MAX(img1->width, img2->width),
  36. img1->height + img2->height ),
  37. IPL_DEPTH_8U, 3 );
  38. cvZero( stacked );
  39. cvSetImageROI( stacked, cvRect( 0, 0, img1->width, img1->height ) );
  40. cvAdd( img1, stacked, stacked, NULL );
  41. cvSetImageROI( stacked, cvRect(0, img1->height, img2->width, img2->height) );
  42. cvAdd( img2, stacked, stacked, NULL );
  43. cvResetImageROI( stacked );
  44. return stacked;
  45. }