www.gusucode.com > vision 源码程序 matlab案例代码 > vision/ComputeMeanAveragePrecisionMAPForImageRetrievalExample.m

    %% Compute Mean Average Precision (MAP) for Image Retrieval
% Create an image set of book covers.

% Copyright 2015 The MathWorks, Inc.

  dataDir = fullfile(toolboxdir('vision'),'visiondata','bookCovers');
  bookCovers = imageDatastore(dataDir); 
%%
% Index the image set. The indexing may take a few minutes.
  imageIndex = indexImages(bookCovers,'Verbose',false);    
%% 
% Create a set of query images.
  queryDir = fullfile(dataDir,'queries',filesep);
  querySet = imageDatastore(queryDir); 
%% 
% Specify the expected search results for each query image.
  expectedIDs = [1 2 3];               
%% 
% Evaluate each query image and collect average precision scores.
  for i = 1:numel(querySet.Files)
      query = readimage(querySet,i);
      averagePrecision(i) = evaluateImageRetrieval(query, imageIndex, expectedIDs(i));
  end 
%% 
% Compute mean average precision (MAP).
  map = mean(averagePrecision)