将帧速率提高到30 fps并从AVT GigE相机获得bayerrg8

时间:2014-03-27 01:40:13

标签: c++ linux camera gige-sdk

我正在使用ubuntu而且我有AVT GigEvision相机。可以从[Link for Linux_SDK库] http://www.alliedvisiontec.com/us/products/legacy.html下载适用于此摄像机的Linux环境SDK。 我能够以每秒1帧的速度获取图像,因为它是一些默认值,但我如何开始每秒接收更多帧。 我不确定它是输出bayerrg8格式还是单声道8格式,此刻我可以看到黑白照片。我不确定来自摄像头的数据是否是bayer8,驱动程序是否自动将其转换为mono8,或者摄像头的数据是mono8,我需要将其转换为bayer8。如果是,我无法找到任何特定的功能从mono8转换为bayerrg8。

1 个答案:

答案 0 :(得分: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 Standard Features Naming Convention文档描述特定功能的预期行为。