【问题标题】:How to manualy set white balance of a uEye camera?如何手动设置uEye相机的白平衡?
【发布时间】:2020-12-03 07:10:43
【问题描述】:

is_SetWhiteBalanceMultipliers() 功能已过时时,如何以编程方式设置 uEye USB 摄像头(来自 IDS 制造商)的白平衡以使用 no 自动白平衡和预定义乘数?

一些背景知识:我使用连接到 Linux 机器的 uEye USB2 摄像头(来自 IDS)。我需要从相机中获取具有预定义颜色的 RGB 图像(原因是在预定义的场景中)。例如,我想将 WB 配置为红色 1.25 乘数、绿色 1.0 和蓝色 2.0 乘数。 对于这个任务,我在 Linux 上使用 uEye SDK(头文件ueye.h)。 手册(A:相机基础 > 相机参数)指出 is_SetWhiteBalanceMultipliers() 功能已过时,建议改用 is_SetAutoParameter() 功能。禁用自动白平衡很容易(is_SetAutoParameter( hCam, IS_SET_ENABLE_AUTO_WHITEBALANCE, 0, 0),但我很难找到一种配置红/绿/蓝倍增器的方法。参数IS_SET_AUTO_WB_OFFSETIS_SET_AUTO_WB_GAIN_RANGE 仅在启用自动白平衡并且当它被禁用时什么都不做。
如果有任何建议,我将不胜感激!

【问题讨论】:

    标签: c++ colors camera ids ueye


    【解决方案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-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-05
      • 2014-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多