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

对于速度要求比较高的时候,需要先保证数据采集的完整性。一般都是使用高速相机先采集数据,再进行后处理。本文记录的是没有那么高的拍摄频率,比如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里面的量化的时间。如果处理流程不影响实时性,可以合并到一起处理,如果影响了。则需要分离开,这样可以避免耗时的操作影响不耗时的操作。最大化处理速度。

相关推荐
yunjingtianhe1 天前
EL隐裂检测仪的优势—精准捕捉细微隐裂、微小断栅等隐蔽性极强的隐患
数码相机
PHOSKEY1 天前
3D工业相机如何“读透”每一个字符?快速识别、高精度3D测量
数码相机·3d
听风吹雨yu1 天前
STM32F407-LWIP-Onvif协议控制海康相机
stm32·嵌入式硬件·数码相机
光_辉2 天前
使用代码访问海康相机
数码相机
格林威2 天前
相机的“对焦”和“变焦”,这二者有什么区别?
开发语言·人工智能·数码相机·opencv·算法·计算机视觉·视觉检测
光_辉2 天前
关于相机拍照的一些说明
数码相机
光_辉2 天前
调用海康相机实现事件监测并拍照
数码相机
JMchen1232 天前
Android相机硬件抽象层(HAL)逆向工程:定制ROM的相机优化深度指南
android·开发语言·c++·python·数码相机·移动开发·android studio
psp之魂3 天前
Unity2d Cinemachine Confine 2d失效的问题
数码相机
中达瑞和-高光谱·多光谱3 天前
中达瑞和VIX-N220推扫式高光谱相机:助力中医舌苔面诊迈向客观化、智能化新时代
数码相机