OpenCV - TickMeter

스윗포테이토·2022년 10월 16일
1

OpenCV

목록 보기
3/3

OpenCV를 이용한 프로젝트를 하고 있는데, 실시간 처리가 되어야 하는 상황이다. 따라서 프로그램을 태스크 단위로 쪼개서 시간을 측정해야 한다. 기본적으로 프로그램 실행 시간을 측정하는 방법은 clock의 수를 센 뒤Clock rate, 즉 CLOCK_PER_SECOND로 나누어 주는 방식인데, 이 clock rate라는 것이 보드마다 다르기 때문에 해당 시스템에 맞는 값을 구해줘야 한다. 하지만 OpenCV는 이를 위한 클래스를 제공하고 있으므로 복잡하게 구현하지 않고 이것을 사용할 예정이다.

TickMeter

기본적으로는 스톱워치랑 동작방법이 똑같기 때문에 복잡하지 않게 구현할 수 있다.

#include <opencv2/core/utility.hpp>

cv::TickMeter tm;	// 타이머 선언

tm.reset()			// 타이머 리셋

tm.start()			// 측정 시작

doSomething();

tm.stop()			// 측정 종료

// ms단위로 변환하여 출력
cout << tm.getTimeMilli() << "ms";

getTimeXXXX 호출 시 가장 최근 reset 시점 ~ stop 시점까지의 시간을 micro, milli, sec단위로 리턴해준다.

profile
나의 삽질이 미래의 누군가를 구할 수 있다면...

0개의 댓글