我正在使用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/