demo.m

上传用户:gzvictory
上传日期:2009-04-19
资源大小:4601k
文件大小:2k
源码类别:图形图像处理
开发平台:Visual C++
  1. % Demo for function mexFeatures 
  2. % Function:
  3. % data = mexFeatures (root_folder, image_list, image_id, param, wght, )
  4. % root foler: root path for these images, only need store the relative path
  5. % image_list: image file name list
  6. % image_id:   assign an image id for each image in the list, will use it for matching purpose
  7. % parameters: [1] paramters for color feature extraction
  8. %             [2-4]: color feature options: 1.HSV color histogram; 2.HSV 3D color histogram 
  9. %             3.RGB Color moment 4.Lab color moment
  10. %             for color histogram: number of bins for 2D/3D histogram, note as hb, sb, vb; 
  11. %             for color moment: number of x/y grid, param[3] is undefined in this case;  
  12. %     param[5]- size of Gabor filter mask, default 64; 
  13. %     param[6]- number of scale of Gabor filter, default 5;
  14. %     param[7]- number of orientation of Gabor filter, default 8;  
  15. %     param[8]- control the sample rate for global representation, unused for Gabor moment, default 8;
  16. % param[9-12] GIST option
  17. %     param[9]-  number of GIST scale 4
  18. %     param[10]- filter mask size is 256
  19. %     param[11]- number of block to extract moment 4
  20. %     param[12]- fc for preprocessing, filter the image
  21. % wght:       the weight to balance the contribution for each component, color, edge, Gabor, LBP and GIST,
  22. %             the coefficient is manually assigned, roughly 1, 1, 1, 20, 7. The optimization of these coefficients is 
  23. %    knownn as "ensemble learning".
  24. % data:       feature matrix with size of (total number images) x (feature length) 
  25. % You may select some features rather than all five features in the library. Range for 
  26. % each feature component in an feature vector are defined as follows:
  27. % colorDim = 3*3*9; // range 1:81, 3x3 color moment:
  28. % edgeDim  = 36+1;  // range 82:118
  29. % gaborDim = scale*ori*3; // range: 119:238
  30. % lbpDim   = 59;    // range 239:297
  31. % gistDim  = nbf*gist_nb*gist_nb; // range: 298:end
  32. % Here a simple example on the usage
  33.     
  34. Folder = 'd:dataimages';  % image input folder
  35. Iname = dir([Folder '*.jpg']);
  36. % set the parameters
  37. param = [3 3 3 0 64 5 8 8 4 256 4 4];
  38. wght = [1 1 1 20 7];
  39. % Simple example, only extract two images
  40. J{1} = Iname(1).name; 
  41. J{2} = Iname(2).name; 
  42. % run extraction
  43. data = mexFeatures( Folder, J, 1:2, param, wght );
  44. %normalization, zero mean, substract mean
  45. [N,dim] = size(data);
  46. D_mean = mean(data);
  47. data = data - (ones(N,1)*D_mean);
  48. %normalization, unit variance
  49. D_norm = diag(1./sqrt(diag(data*data')))*data;