cvGetTickCountとcvGetTickFrequencyでmicro second単位で時間を測定できる.
現在のクロックカウントを取得する
返り値†
1 second でのクロック増加数を計算する
1 micro second でのクロック増加数を計算する
返り値†
- double型のクロック増加数
- C++インタフェースとCインタフェースで返ってくる数の単位が違うので注意
- Cインタフェース:1 micro second あたりのクロック数
- C++インタフェース:1 second あたりのクロック数
- system.cppのラッパー(2.3.1)
#geshi(c++,number,start=547){{
CV_IMPL double cvGetTickFrequency(void)
{
return cv::getTickFrequency()*1e-6;
}
}}
- tick自体に時刻との関連はない.
- tickの差分だけが関係する.
- たぶんCPUのクロック数を拾っているのだと思う.
- int64型はlong long型
サンプルコード†
#geshi(c++,number){{
//開始時 start
int64 start;
start = cv::getTickCount();
/* some kind of process */
//終了時 end
int64 end = cv::getTickCount();
std::cout << (end - start) * 1000 / cv::getTickFrequency() << "[ms]" << std::endl;
std::cout << (end - start) / cvGetTickFrequency() << "[μs]" << std::endl;
}}
実体ファイル†
- cxcore/include/cxcore.h (OpenCV 1.0)
- cxcore/src/cxswitcher.cpp (OpenCV 1.0)
- include/opencv/cxcore.h (OpenCV 2.1 cインタフェース)
- include/opencv/cxcore.hpp (OpenCV 2.1 c++インタフェース)
- src/cxcore/cxsystem.cpp (OpenCV 2.1)
- modules/core/src/system.cpp (OpenCV 2.3.1)
- modules/core/include/opencv2/core/core.hpp (OpenCV 2.3.1)
ジャンル:OpenCV:OpenCV 1.0:OpenCV 2.1:OpenCV 2.3準拠