我目前正在尝试以较低质量拍摄视频时拍摄出最佳画质。问题是,我正在使用视频流检查面部是否在凸轮前面,这需要大量的资源,所以我使用的是较低质量的视频流,如果检测到任何面部,我想采取高质量的照片。
致以最诚挚的问候,谢谢你的帮助!
答案 0 :(得分:1)
您不能拥有多个捕获会话,因此在某些时候您需要交换到更高的分辨率。首先要说的是,在使用高分辨率快照时,人脸检测会占用太多资源。为什么不尝试简单地对图像进行下采样并始终保持高分辨率(将下采样发送到人脸检测,显示高分辨率:
我将从最常见的苹果图形背景开始,并尝试降低它的规模。如果这需要太多的CPU,你可以尝试在GPU上做同样的事情(找一些那样做或者只是创建一个简单的程序),或者你甚至可以尝试简单地将图像的奇数行和列作为原始数据。在任何一种情况下你都应该注意到你可能不需要在与显示相同的线程上进行面部检测,你甚至可能甚至不需要高帧速率来检测(你显示相机一个完整的FPS但更新例如10 FPS的人脸识别。)
你可以做的另一件事就是让整个事情处于低分辨率,然后当你需要拍摄图像时停止会话,开始高分辨率会话,截取屏幕并换回低分辨率以进行面部检测。