为 Ximea 相机设置下采样

Set downsampling for Ximea camera

我正在尝试为 MC023CG-SY-UB Ximea 相机配置下采样。当我在 python API:

中调用以下设置器时
cam.set_imgdataformat('XI_RGB24');
cam.set_gain(20);
cam.disable_aeag();
cam.enable_auto_wb();
cam.set_exposure(7000);
cam.set_downsampling('XI_DWN_2x2');

我收到这个错误:

xiAPI: XiApiToGentlParamModel::SetDownsampling ERROR setting value 2
xiAPI: xiAPI error: Expected XI_OK in:../API/xiFAPI/interfaces/02_mid/xifapi_Handlers_Setters.gen.h SetParam/Line:55
xiAPI: xiSetParam - error: setting parameter downsampling
Traceback (most recent call last):
File "show_ximea_position.py", line 21, in <module>
    cam.set_downsampling('XI_DWN_2x2');

File "/usr/local/lib/python2.7/site-packages/ximea/xiapi.py", line 611, in set_downsampling
self.set_param('downsampling', downsampling)
File "/usr/local/lib/python2.7/site-packages/ximea/xiapi.py", line 389, in set_param
raise Xi_error(stat)
ximea.xiapi.Xi_error: ERROR 12: Not supported

我尝试了 documentation 中提到的 2x2->16x16 的所有 XI_DWN_NxN 采样方法,并且都产生相同的错误(不支持)。如果我使用 XI_DWN_1x1,配置是有效的,但图像分辨率太高了。

我应该调用什么函数来降低相机的分辨率?我知道我可以做类似的事情:

cam.set_width 
cam.set_height

但这会裁剪图像,并且不会改变分辨率。

事实证明,只有当您使用的相机不支持缩减采样时,才会返回此消息。您唯一的其他选择是减少取回的像素数量。换句话说,前面提到的相机支持 1936x1216 的拍摄,但你不必拍摄所有这些。在下面的示例中,我正在获取 944x1200。

width = 944;
height = 1200;
cam.set_imgdataformat('XI_RGB24');
cam.set_width(width);
cam.set_height(height);
# this value needs to be in increments of 16
# math to get this number : 1936 - 944 = 992 / 2 = 496
cam.set_offsetX(496);
# 496 / 16 = 31.0 yields valid offset for x for center of image