함수의 처리시간 및 성능을 확인 하기 위해서 timer 를 사용 합니다. OpenCV 에서 TickMeter 라는 class 를 사용하여 처리 가능합니다. 사용법은 아래 예시 처럼 간단 합니다. 성능 측정 할 메소드를 TickMeter class 의 start 메소드 호출 전에 기입 하면 쉽게 사용 할 수 있습니다.
int main() {
// .....
TickMeter tm;
tm.start();
// start, stop 메소드 사이에 성능 측정 할 메소드를 기입 합니다.
{
// TODO: 해당 스코프에서 수행 시간을 확인 할 수 있습니다.
}
tm.stop();
// .....
return 0;
}
#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <iostream>
#include <string>
using namespace std;
using namespace cv;
/*
* @brief - grayscale 영상으로 변경하는 메소드
*/
void showCustomEffectWindow(Mat src) {
Mat dst;
edgePreservingFilter(src, dst, 1, 60, 0.4);
imshow("dst", dst);
}
int main() {
Mat img = imread("image.jpg", IMREAD_COLOR);
if(img.empty()) {
cout << "이미지가 없거나, 유효한 파일 형식이 아닙니다." << endl;
return -1;
}
imshow("src", img);
TickMeter tm;
tm.start();
// start, stop 메소드 사이에 성능 측정 할 메소드를 기입 합니다.
{
showCustomEffectWindow(img);
}
tm.stop();
double average_time = tm.getTimeSec() / tm.getCounter();
std::cout << "Average time in second per iteration is: " << average_time << std::endl;
waitKey(0);
return 0;
}
위의 소스를 실행하게 되면은 스코프내의 수행 시간을 아래와 같이 확인 할 수 있습니다.
concrt140d.dll msvcp140d.dll ucrtbased.dll vcruntime140d.dll Runtime Error - OpenCV (0) | 2021.02.14 |
---|---|
그레이 스케일(grayscale) 이미지 출력 하기 - OpenCV (0) | 2021.02.14 |
비사실적 렌더링 Non-Photorealistic Rendering - OpenCV (0) | 2021.02.14 |
템플릿 매칭 Template Matching - OpenCV (0) | 2021.02.14 |
OpenCV로 이미지 출력 하기 (0) | 2021.02.14 |
댓글 영역