我正在使用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。
答案 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
。
为了了解您可以设置的其他参数名称以及它们的工作方式,您需要阅读相机的文档(如果有的话)。否则,您可以从相机本身学习,使用PvAttrList()
调用获取支持的功能列表,然后使用GenICam Standard Features Naming Convention文档描述特定功能的预期行为。