【发布时间】:2015-05-09 23:38:49
【问题描述】:
我正在尝试使用 C++ 中的时间函数获取网络摄像头的 fps。我正在使用 opencv 库。对于每 100 帧,我计算 fps,所以我确信至少 1-2 秒已经过去。但是,它似乎不起作用,因为 difftime() 返回 0。当我调试代码时,我发现开始时间值和结束时间值是相同的。有人可以帮我解决这个问题吗?以下是我的代码:
int frameCount = 0;
double seconds;
time_t start,end;
double fps;
for(;;){
start = time(NULL);
cap >> src;
if (!src.empty()) {
frameCount++;
}
if(frameCount == 100){
end = time(NULL);
seconds = difftime(end, start); //start and end has same value
fps = frameCount / seconds;
frameCount = 0;
}
}
【问题讨论】: