如何在matlab中计算图像检索时间

时间:2012-11-12 01:14:34

标签: matlab time

我正在研究图像检索系统,为了评估CBIR的性能,我们应该计算检索时间。我使用了功能性的tic和toc函数;我看到它给了我不同的时间每次运行,我看到一些时间它总结了从运行到运行的时间..我让很多人试图计算每次检索的检索时间,例如我保存了检索时间(这意味着toc包含)在一个变量中说timeR = toc,然后我timeR = 0用于下一次检索...

timeR=o;
tic;

% image retrieval process

toc;

timR=toc;

我还有不同的时间......请帮助我如何计算每个查询图像的检索时间,谢谢

1 个答案:

答案 0 :(得分:1)

有时,检索代码对每个图像的执行略有不同。 为了更好地了解您的运行时间,我建议您使用Matlab的分析工具。

 profile clear;
 profile on; 
 % your code here
 profile off;
 profile viewer;

使用分析器,您可以看到代码中需要花费时间。

此外,在您的代码段中,您调用toc两次,这可能会导致您遇到的一些奇怪的行为。

有关更具体的措施,您可以尝试

rTimes = zeros(1, numMethods);
% prepare images and what ever you need ...
for imi = 1:numImages
    % read test image ...
    tic;
    % use your method for ret.
    rTimes(1) = rTimes(1) + toc; % add this run time to your counter


    tic;
    % here you run method 2 that you want to compare to...
    rTimes(2) = rTimes(2) + toc; % add run time for method 2

    % do the same for all methods ...

    tic;
    % run the numMethods-th method
    rTimes(numMethods) = rTimes(numMethods) + toc;
end
% now rTimes hold the running times (overall) for all methods over all test images.