在 Labview 上记录原始数据

Record raw data on Labview

我在 Labview 中有这个 VI,它从网络摄像头 (Logitech C300) 流式传输视频,并将每个图像的彩色层处理为数组。我正在尝试使用 Logitech 的程序 (http://web.archive.org/web/20100830135714/http://www.quickcamteam.net/documentation/how-to/how-to-enable-raw-streaming-on-logitech-webcams) 和 Vision Acquisition 工具从网络摄像头获取原始 Bayer 数据,但我只能获取与常规捕获一样多的数据,而不是四倍多。

基本上,我得到 1280x1024 24 位像素,而我想要 1280*1024 32 位或 2560*2048 8 位像素。

有没有人对此有任何经验并且知道 Labview 处理相机原始输出的方法,或者如何从相机实际记录原始文件?

谢谢!

您启用的驱动程序标志只是将原始像素值 (8/10 bpp) 打包到 24 位值的最低有效位。假设使用 8bpp 模式,可以从蓝色平面中提取原始值,如下例所示。然后可以对其进行去拜耳处理以获得例如 RGB 值。

除非您可以改进固件中的 debayer 算法,或者有非常特殊的需求,否则这不是很有用。通常情况下,至少可以通过启用原始模式来减少传输的数据量——这里不是这种情况。

以上假定原始视频模式未被 LabVIEW IMAQdx 驱动程序覆盖。如果是这种情况,您可以通过 属性 个节点从 LabVIEW 启用原始模式。这需要手动配置采集,因为快速 VI 的可配置性有限。使用 EnumStrings 属性 获取所有可能的属性,然后查看是否有类似图表禁用结构之外指定的属性(这是来自不同的相机)。