0

当功能过时时,如何以编程方式设置 uEye USB 摄像头(来自 IDS 制造商)的白平衡以在没有自动白平衡和预定义乘数的情况下工作? 一些背景知识:我使用连接到 Linux 机器的 uEye USB2 摄像头(来自 IDS)。我需要从相机中获取具有预定义颜色的 RGB 图像(原因是在预定义的场景中)。例如,我想将 WB 配置为红色 1.25 乘数、绿色 1.0 和蓝色 2.0 乘数。对于这个任务,我在 Linux 上使用 uEye SDK(头文件)。手册(A:相机基础 > 相机参数)声明该功能已过时,并建议改用功能。禁用自动白平衡很容易(is_SetWhiteBalanceMultipliers()

ueye.his_SetWhiteBalanceMultipliers()is_SetAutoParameter()is_SetAutoParameter( hCam, IS_SET_ENABLE_AUTO_WHITEBALANCE, 0, 0),但我很难找到一种配置红/绿/蓝乘数的方法。该参数仅在启用自动白平衡时起作用,禁用时不执行任何操作IS_SET_AUTO_WB_OFFSET。我将不胜感激任何建议!IS_SET_AUTO_WB_GAIN_RANGE

4

1 回答 1

1

我遇到过同样的问题。我认为您可以使用函数“is_SetHardwareGain”来实现旧结果,您可以在该函数上直接传递主要、红色、绿色和蓝色增益。就我而言,我在这样做之前禁用了白平衡,以确保它有效。在此示例中,我想将值设置为 RGB 增益 = [8%, 0%, 32%] 并将主增益设置为 0%(为了不与增益因子混淆,0% 通常对应于 1x 增益因子):

double param1, param2; param1=0;
is_SetColorCorrection (hCam, IS_CCOR_DISABLE, &param1); //Disables the color fitler correction matrix
flagIDS = is_SetAutoParameter (hCam, IS_SET_ENABLE_AUTO_WHITEBALANCE, &param1, &param2);
param1=WB_MODE_DISABLE;
flagIDS = is_SetAutoParameter (hCam, IS_SET_ENABLE_AUTO_SENSOR_WHITEBALANCE, &param1, &param2);
flagIDS = is_SetHardwareGain (hCam, 0, 8, 0, 32);
于 2020-12-08T12:51:35.990 回答