level 2
玉玲兰香
楼主
假如你要写一个人脸识别程序,从摄像头拿图检测其中的人脸,摄像头帧率20(每秒产生20张图),而很不巧的是,你的程序一秒只能处理一张图片(假设),那么问题来了,capture.read()返回的是当前帧的下一帧,你只处理摄像头一秒内产生的20张图,就用了20秒!那么如何解决这个问题?
第一是手动跳帧,在执行识别程序之前手动挑掉19帧(不算跳帧花费的时间的情况下,摄像头产生20张图用了一秒,而你处理了一张图加跳过19张图,也用了一秒,基本同步),但是随即而来问题是,如果我的识别程序有时需要0.5秒,有时需要2秒,那跳帧也不全管用啊。
第二,我从摄像头拿到图,是基于当前时间的最新的一帧,而不是当前帧的下一帧。那么问题来了,怎么才能拿到摄像头产生的最新的图片?
2019年07月01日 07点07分
1
第一是手动跳帧,在执行识别程序之前手动挑掉19帧(不算跳帧花费的时间的情况下,摄像头产生20张图用了一秒,而你处理了一张图加跳过19张图,也用了一秒,基本同步),但是随即而来问题是,如果我的识别程序有时需要0.5秒,有时需要2秒,那跳帧也不全管用啊。
第二,我从摄像头拿到图,是基于当前时间的最新的一帧,而不是当前帧的下一帧。那么问题来了,怎么才能拿到摄像头产生的最新的图片?
