xuhao1 / FOXTracker

Facial Head Pose Tracker for Gaming
GNU Lesser General Public License v2.1
442 stars 60 forks source link

Use MJPEG format for high speed camera support #12

Open zmz125000 opened 3 years ago

zmz125000 commented 3 years ago

Windows 10 下高帧率相机默认采集无压缩 YUY2 流导致帧数降低到个位数,希望作者能添加一个启用 MJPEG 流的选项

在 src/HeadPoseDetector.cpp 里

    cap.set(cv::CAP_PROP_FRAME_WIDTH, 640);  
    cap.set(cv::CAP_PROP_FRAME_HEIGHT, 480);  
    cap.set(cv::CAP_PROP_FPS, settings->fps);  

加上

cap.set(cv::CV_CAP_PROP_FOURCC, cv::CV_FOURCC('M', 'J', 'P', 'G') );

就可以了。默认开启应该也没什么副作用。 谢谢!

xuhao1 commented 3 years ago

The main reason for low FPS is weak CPU. What's your hardward configuration?

zmz125000 commented 3 years ago

CPU 为 Ryzen R5 3600 和 Ryzen 4600U YUY2 是无压缩的,很多USB2.0的摄像头用 YUY2 达不到最高帧数。 @xuhao1

SSV-Normandy commented 2 years ago

遇到了同样的问题,我手头的相机在YUV格式下只支持30帧,但是MJPEG可以支持到120,能否增加一个开关控制传输格式

xuhao1 commented 2 years ago

我手头没有MJPEG的摄像头 @zmz125000 @SSV-Normandy 你们有什么推荐的我试试?

zmz125000 commented 2 years ago

我的相机已经卖了