我正在使用 ubuntu,并且我有 AVT GigEvision 相机。此相机的 Linux 环境 SDK 可从 [Link for Linux_SDK 库] http://www.alliedvisiontec.com/us/products/legacy.html下载。我能够以每秒 1 帧的速度获取图像,因为这是一些默认值,但我如何开始每秒接收更多帧。我不确定它是输出bayerrg8格式还是mono 8格式,目前我可以看到一张黑白图片。我不确定来自摄像头的数据是bayer8,驱动程序自动将其转换为mono8,还是来自摄像头的数据是mono8,我需要将其转换为bayer8。另外,如果是的话,我找不到任何特定的函数来从 mono8 转换为bayerrg8。
问问题
1627 次
1 回答
1
设置帧速率
要更改 GigE Vision 相机上的帧速率,您需要设置名为 的参数AcquisitionFrameRate
。这是标准参数,所有 GigE Vision 相机都必须支持。就 AVS SDK 而言,您可以这样做:
err = PvAttrFloat32Set(handle, "AcquisitionFrameRate", 30.0);
确保使用 .检查相机支持的帧速率PvAttrRangeFloat32()
。
设置像素格式
命名的枚举特征PixelFormat
用于控制相机的输出像素格式。有 4 种不同的 8 位拜耳格式:BayerBG8、BayerGB8、BayerGR8 和 BayerRG8。您的相机可能只支持其中一个或根本不支持。用于PvAttrRangeEnum(handle, "PixelFormat", ...)
获取支持的像素格式列表。然后你可以设置它:
err = PvAttrEnumSet(handle, "PixelFormat", "BayerBG8");
相机不太可能以一种格式流式传输像素,然后再将其转换为另一种格式,因为这会违反 GigE Vision 标准。很可能您Mono8
默认设置为像素格式。
使用 GigE Vision 相机四处走动
为了了解您可以设置哪些类型的其他参数名称以及它们如何工作,您需要阅读相机的文档(如果有的话)。否则,您可以从相机本身学习它,使用PvAttrList()
调用来获取支持的功能列表,然后使用GenICam 标准功能命名约定文档来描述特定功能的预期行为。
于 2014-03-27T16:53:51.247 回答