异步触发的相机如何确保相机在硬件触发时候全部触发成功

119 天前
 bugmaker1024

前情提要:有 3 个相机,3 个相机异步打开,通过硬件触发方式触发拍照。3 个相机全部拍照完成则进行图片处理

 硬件方面:可忽略硬件的影响,在软件层面进行处理
 软件层面:假设 N 秒( N 位于 0.5~1 之间)通过硬件触发一次拍照,硬件触发成功后则对应的 capture_num+1 ,在此时需要使用 capture_num 来对图片命名和处理

问题:若第 1 次相机 1 未触发成功,其余相机触发成功。则相机 1 的 capture_num=0,其余相机 capture_num=1 ,第 2 次硬件触发,若所有相机均正常,相机 1-3 实际应该为 2 ,但是由于第一次触发失败,相机 1 的 capture_num=1.此时就出现了问题。

  在第一次相机 1 触发失败,其余相机触发成功的时候,下游并不知道相机 1 是触发失败还是延迟触发。所以会一直等,如果此时第二次硬件触发相机 1 正常了,下游会认为这是相机 1 第一次拍照(实际第 1 次拍照,但是应该算成第 2 次)。则此时下游在处理时候就会存在异常。

虚心请教大家有什么好的方案处理这个问题吗?

917 次点击
所在节点    程序员
4 条回复
Adelell
119 天前
把相机换成摄像头,三路视频流,网络传输到服务器,服务器想怎么处理怎么处理。
kilasuelika
119 天前
单用那个 num 是不够的,可以改下拍照函数,给照片打时间戳,利用这个来对齐。
anytk
118 天前
业务要求帧率不高的情况下,肯定是记录触发时间戳并在接受时设置超时机制再标记序号。
ltq918
118 天前
尝试记录触发的次数,例如可以这样,第一次 相机记录依次为 capture_num="0,0" capture_num="0,1" capture_num="0,1" 第二次 capture_num="1,1" capture_num="1,2" capture_num="1,2"

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1008862

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX