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)