我有一台工业相机,每秒需要120帧。它通过USB 3.0电缆与我的PC连接,如果我只是显示它们,帧将以120fps的帧速率稳定地传输到我的PC。但是,当我尝试以jpeg格式将帧保存到我的SSD(M.2 PCIE接口)时,我每秒只能保存30帧。每个jpeg文件大约80KB,如果我每秒保存所有120帧,它将大约10MBps。我测试了我的SSD,它至少有100MBps用于写入数据。那么哪里出错了?
顺便说一下,相机提供的API是Windows C ++ API,我使用Visual Studio来捕获和编写程序。我能想到的一种方法是将图像保存在内存中一段时间,然后我停止捕获并将图像转储到磁盘上。我的应用程序需要始终保持摄像头捕获。所以我在想是否有办法在SSD中连续保存这些图像。我的电脑有i7和32GB内存。
答案 0 :(得分:1)
瓶颈不是I / O,而是将原始转换为jpeg的处理,这是由PC上的SDK完成的。尝试实时保存raw并将其转换为jpeg离线。