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

最佳答案

设置帧频

要更改GigE Vision摄像机的帧频,您需要设置名为AcquisitionFrameRate的参数。这是标准参数,所有GigE Vision摄像机都必须支持。在AVS SDK方面,您可以这样做:

err = PvAttrFloat32Set(handle, "AcquisitionFrameRate", 30.0);


确保使用PvAttrRangeFloat32()检查相机支持的帧频。

设置像素格式

名为PixelFormat的枚举功能用于控制相机的输出像素格式。有4种不同的8位Bayer格式:BayerBG8,BayerGB8,BayerGR8和BayerRG8。您的相机可能只支持其中之一,或根本不支持。使用PvAttrRangeEnum(handle, "PixelFormat", ...)获取支持的像素格式列表。然后可以使用以下命令进行设置:

err = PvAttrEnumSet(handle, "PixelFormat", "BayerBG8");


相机不太可能以一种格式流像素,然后再将其转换为另一种格式,因为这会违反GigE Vision标准。默认情况下,很可能您已将像素格式设置为Mono8

使用GigE视觉相机四处逛逛

为了了解您可以设置什么样的其他参数名称以及它们如何工作,您需要阅读相机的文档(如果有)。否则,您可以使用PvAttrList()调用从相机本身中学习它,以获取受支持功能的列表,然后使用GenICam Standard Features Naming Convention文档描述特定功能的预期表现。

关于c++ - 将帧速率提高到30 fps,并从AVT GigE摄像机获取bayerrg8,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22676675/

10-11 21:28