有時檢索代碼對每個圖像執行略有不同。 爲了更好地理解你的運行時間,我建議你使用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.
感謝您的答覆。我所需要的總檢索時間,以便檢索方法之間的比較..這代碼給我更多的細節,我沒有」 t需要它,並且配置文件表中的實際檢索時間是多少。 – zenab
感謝您回覆...可能是您不明白我的問題。首先,我需要計算每個要素或方法的檢索時間,例如我想要計算檢索時間使用顏色直方圖和顏色矩特徵然後比較每個特徵的檢索時間,另一個例子我想比較使用線性和非線性方法的檢索時間等。我不需要所有方法的整體運行時間在所有測試圖像上。關於 – zenab
@zenab - 我知道你需要爲你的代碼的不同部分測量不同的時間。我認爲上面的例子爲你提供了完成這些所需的工具。這裏的答案不是爲了完成你的任務而不是你,而是幫助你成功地完成你自己的任務。 – Shai