我正在编写一个函数,在一秒内从bin文件读取N(800 * 600)帧。 FPS是用户可控的
import time
def getFrame(file,N): #read N frames per second, 800X600 pixels each from file
start = time.time()
delay = (1/float(N))
while N:
frame = file.read(480000)
time.sleep(delay)
N -= 1
print time.time()-start
return
time.sleep()创建延迟,但不考虑其余代码的执行时间。 总的来说,运行时间总是大于1秒,随着我增加N(fps)值,它会递增。
有没有办法创建一个考虑处理时间的延迟?
答案 0 :(得分:3)
time.sleep(delay-(time.time()-start))