0

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

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

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

谢谢!

Labview 代码

4

1 回答 1

1

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

提取 B 和 debayer

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

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

原始采集 IMAQdx

于 2015-05-22T18:46:19.513 回答