為了計算程式的執行時間,會使用一個函式其名稱是clock,但使用前要先include time.h才能用,而clock回傳的單位是毫秒(資料型態是double),若希望單位變成秒,則要再除CLOCKS_PER_SEC才行,此外,為了計算準確的執行時間,會使用Ctrl+F5以最佳效能下做測試。
測試OpenCV 色域轉換所需時間,程式碼如下:
#include <opencv2/opencv.hpp>
#include "time.h"
using namespace cv;
using namespace std;
double StartTime, EndTime;
int main(){
//讀取影像
Mat SrcImg = imread("dog.jpg", CV_LOAD_IMAGE_COLOR);
Mat OutImg;
//紀錄起始時間點
StartTime = clock();
cvtColor(SrcImg, OutImg, CV_BGR2GRAY);
//紀錄結束時間點
EndTime = clock();
imshow("OutImg", OutImg);
waitKey(1000);
//因為clock回傳的都是ms,所以若要用s顯示則需要除CLOCKS_PER_SEC,CLOCKS_PER_SEC代表1000
//測試執行時間,通常都是以Ctrl+F5,則能得到最準確的時間
cout << " Time:" << (EndTime - StartTime) / CLOCKS_PER_SEC << "ms" << endl;
return 0;
}