我正在尝试为MC023CG-SY-UB Ximea相机配置下采样。当我在python API中调用以下setter时:
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但这会裁剪图像,并且不会改变分辨率。
发布于 2019-10-11 03:14:33
原来,只有当您使用的摄像头不支持下采样时,才会返回此消息。您唯一的其他选择是减少取回的像素数。换句话说,前面提到的摄像头支持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 imagehttps://stackoverflow.com/questions/58305819
复制相似问题