1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-29 23:33:05 +04:00

Enhance cv::TickMeter to be able to get the last ellapsed time

This commit is contained in:
Javier Macias Sola
2024-09-28 12:24:36 +02:00
parent 450e741f8d
commit 679931dcde
2 changed files with 33 additions and 5 deletions
+32 -5
View File
@@ -309,11 +309,12 @@ public:
//! stops counting ticks.
CV_WRAP void stop()
{
int64 time = cv::getTickCount();
const int64 time = cv::getTickCount();
if (startTime == 0)
return;
++counter;
sumTime += (time - startTime);
lastTime = time - startTime;
sumTime += lastTime;
startTime = 0;
}
@@ -336,11 +337,35 @@ public:
}
//! returns passed time in seconds.
CV_WRAP double getTimeSec() const
CV_WRAP double getTimeSec() const
{
return (double)getTimeTicks() / getTickFrequency();
}
//! returns counted ticks of the last iteration.
CV_WRAP int64 getLastTimeTicks() const
{
return lastTime;
}
//! returns passed time of the last iteration in microseconds.
CV_WRAP double getLastTimeMicro() const
{
return getLastTimeMilli()*1e3;
}
//! returns passed time of the last iteration in milliseconds.
CV_WRAP double getLastTimeMilli() const
{
return getLastTimeSec()*1e3;
}
//! returns passed time of the last iteration in seconds.
CV_WRAP double getLastTimeSec() const
{
return (double)getLastTimeTicks() / getTickFrequency();
}
//! returns internal counter value.
CV_WRAP int64 getCounter() const
{
@@ -373,15 +398,17 @@ public:
//! resets internal values.
CV_WRAP void reset()
{
startTime = 0;
sumTime = 0;
counter = 0;
sumTime = 0;
startTime = 0;
lastTime = 0;
}
private:
int64 counter;
int64 sumTime;
int64 startTime;
int64 lastTime;
};
/** @brief output operator