首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置Ximea相机的下采样

设置Ximea相机的下采样
EN

Stack Overflow用户
提问于 2019-10-09 21:55:09
回答 1查看 298关注 0票数 0

我正在尝试为MC023CG-SY-UB Ximea相机配置下采样。当我在python API中调用以下setter时:

代码语言:javascript
复制
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');

我得到了这个错误:

代码语言:javascript
复制
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,配置是正常的,但图像分辨率太高了。

我应该调用什么函数来降低摄像头的分辨率?我知道我可以这样做:

代码语言:javascript
复制
cam.set_width 
cam.set_height

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-11 03:14:33

原来,只有当您使用的摄像头不支持下采样时,才会返回此消息。您唯一的其他选择是减少取回的像素数。换句话说,前面提到的摄像头支持1936x1216的捕获,但您不必捕获所有这些图像。在下面的示例中,我获取的是944x1200。

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58305819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档