我使用来自here的raspicam库。我可以在src / private / private_impl.cpp文件中更改帧速率。在帧速率为60之后,我可以接收帧速率60,但是图像中的对象大小被改变。我附加了两个图像,一个使用30fps捕获,另一个使用60fps捕获。 为什么我使用60fps有更大的对象大小?如何才能拥有正常的对象大小(与使用30fps相同)? 第一张图像是30fps,第二张图像是60fps。
答案 0 :(得分:1)
根据说明here,较高的帧速率模式需要在传感器上裁剪8M像素相机。在默认的30fps时,GPU代码将选择1640x922模式,因此提供完整的视野(FOV)。超过40fps,它将切换到裁剪的1280x720模式。在任何一种情况下,GPU都会将其大小调整为您请求的大小。将较小的FOV调整为相同大小,并且场景中的任何对象将使用更多像素。如果不需要裁剪,则可以使用500万像素摄像头。
我应该使用视野,缩放或裁剪而不是对象大小更大。
答案 1 :(得分:0)
还可以通过明确选择“合并”(将多个传感器像素组合成一个图像像素)的相机模式,以更低和更高速率的捕获,以更高的帧速率保持图像的大小相同。
有关详细信息,请参阅https://www.raspberrypi.org/blog/new-camera-mode-released/了解“新”更高的帧率。
此外,page in the other answer可以很好地了解各种帧尺寸,并对可用的相机模式进行了很好的描述。特别是,模式4和更高版本是分级,从2x2分级开始(因此4个传感器像素贡献1个图像像素)并以4x4结束(因此16个传感器像素贡献1个图像像素)。
使用sensor_mode
构造函数的PiCamera
参数来选择模式。