2013-07-19 2 views
0

Итак, в моем проекте обработки изображений я использую gettickcount() для вычисления среднего времени, которое требуется для обработки каждого кадра. Однако, ради скорости, я решил обработать каждый другой фрейм. Теоретически, программа должна работать быстрее, и это происходит. Однако значения, которые я получаю от gettickcount, остаются неизменными. Это заставляет меня полагать, что функция gettickcount все еще подсчитывает тики необработанных изображений программы.Расчет времени выполнения моей программы

while(capture.grab()) 
{ 
    int64 t = getTickCount(); 

    if(count == 0) //count is each image number. this segment processes the first image 
    { 

    } 

    if(count % 2 == 1) //processes every other image 
    { 

    } 
} 

ли функция GetTickCount по-прежнему считать тиков от если (кол-% 2 == 1), даже если он не работает?

спасибо!

+0

Я предполагаю, что вы на [Windows] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms724408%28v = vs.85% 29.aspx) с использованием C++. Это правильное предположение? – tjameson

+1

@ Джорди. Вы абсолютно уверены в этом? Время для кофе? – Zec

+0

@Zec Да, оператор modulo возвращает остаток после деления. 0/2 = 0. Итак, остаток равен 0. – Jordy

ответ

0
#include<stdio.h> 
#include<time.h> 

int main() 
{ 

clock_t start = clock(); 

//write your code here, and this will calculate the execution time of the code... 

clock_t ends = clock(); 

printf("run time: %.5f \n", ((double)(ends - 

start))/CLOCKS_PER_SEC); 

return 0; 

} 
0

Да. Независимо от значения «count» вы вызываете getTickCount на каждом проходе вашего цикла while.

Try:

while(capture.grab()) 
{ 
    int64 t = 0; 

    if(count == 0) //count is each image number. this segment processes the first image 
    { 
     t = getTickCount(); 
    } 
    if(count % 2 == 1) //processes every other image 
    { 
     t = getTickCount(); 
    } 
} 
+0

Я должен добавить, что проблема, с которой вы столкнулись, имеет такое же отношение к тому, что вы позже делаете с «t», так и к своему условному состоянию, которое вы поделили до сих пор. Что вы делаете с «t»? – Zec

Смежные вопросы