高速测量中的实时数据处理

对于速度要求比较高的时候,需要先保证数据采集的完整性。一般都是使用高速相机先采集数据,再进行后处理。本文记录的是没有那么高的拍摄频率,比如100帧每秒的采集速度下,数据的实时处理,如何保证数据的完整性和结果显示的非延迟性。

1、时间量化

首先需要统计各个流程的耗时时间,将数据处理的各个阶段的时间量化。一般高速相机采集都使用外部信号触发。所以数据处理的步骤一般从图像回图开始。包括保存图像(内存或者硬盘),图像处理,保存图像处理结果(像点坐标),多个相机的像点坐标时间戳对齐,对齐后进行交会得到三维点,使用三维点进行指定分析,分析结果的展示等。每一个步骤都需要进行时间量化。依次分析耗时的操作,以便进行优化。

2、数据分离

高速数据处理,一般使用队列。比如相机回调函数中,获取到图像后,直接push到图像队列A中。有一个线程A来监测队列A中的图像数据,poll出来进行图像处理,得到像点坐标,然后push到队列B中。另一个线程B来监测队列B中的像点坐标,然后将多个相机的像点坐标根据时间戳来对齐。再把对齐后的数据push到队列C中。线程C来监测队列C中的数据,然后直接交会三维点,进行定制分析,push到队列D中。线程D监测队列D中的数据,poll出来后,进行结果显示。

3、降频

整个处理流程中,不是所有步骤都需要按照最大速度来处理的,比如说图像采集,必须保证速度,图像处理,像点坐标提取等需要保持每帧处理。但是结果显示,就不需要。可以根据重要性,对各个步骤进行有区别的降频(抽帧)处理,在保证数据完整性的前提下,最大化的提高效率。

4、总结

其实1和2是息息相关的,2怎么进行数据分离,就需要1里面的量化的时间。如果处理流程不影响实时性,可以合并到一起处理,如果影响了。则需要分离开,这样可以避免耗时的操作影响不耗时的操作。最大化处理速度。

相关推荐
格林威1 小时前
工业相机Chunk功能全解析:图像嵌入时间戳、编码器元数据(附堡盟C#代码)
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
XMAIPC_Robot5 小时前
RK3588四路1080P工业MIPI相机视觉网关,同时支持RK3588+FPGA的24路相机同步方案
人工智能·数码相机
吐了啊取名字太难1 天前
美颜系统AI修图本地跑并支持Mac、win、安卓、iOS不卡顿
android·人工智能·windows·数码相机·mac·ai编程
科技圈快迅1 天前
科美锐(Komery)新手入门数码相机产品梳理:百元到千元,不同价位实际能买到什么
数码相机
OAK中国_官方2 天前
OAK相机 IMU 和外壳标定
数码相机
FrameNotWork2 天前
HarmonyOS 6.0 相机开发——拍照与录像
数码相机·华为·harmonyos
song150265372982 天前
M12 X-Code 8芯 PoE 相机/远程IO 针脚定义完整详解
数码相机
田里的水稻4 天前
FA_数字相机成像原理、分级和分类
运维·数码相机·机器人·自动驾驶
gaosushexiangji5 天前
基于多视角高速成像与体素建模的特斯拉线圈放电电弧三维重建实验研究
数码相机
神经智研社5 天前
ROS2-16章:机器人仿真软件Gazebo
数码相机