当前位置: 首页 > article >正文

工业相机常用功能之白平衡及C++代码分享

目录

1、白平衡的概念解析

2、相机白平衡参数及操作

2.1 相机白平衡参数

2.2 自动白平衡操作

2.3 手动白平衡操作流程

 3、C++ 代码从XML读取参数及设置相机参数

        3.1 读取XML

3.2 C++代码,从XML读取参数

3.3 给相机设置参数


1、白平衡的概念解析

        白平衡(White Balance),这一摄影领域的专业术语,其核心概念在于“无论处于何种光源环境下,都能确保白色物体被真实还原为白色”。在实际拍摄过程中,面对特定光源所造成的色彩偏移现象,白平衡技术通过增强相应的补色来进行色彩补偿,从而实现对色温偏差的精确校准。

        人类视觉系统具有惊人的适应性,能够在多种色温的光源下准确识别并校正白色物体,使其始终呈现为正白色。然而,相机的感光元件(sensor)却并不具备如此强大的适应性。当光源的色温发生变化时,相机捕捉到的色彩信息也会随之产生变化,进而可能导致颜色异常的现象出现。为了解决这个问题,白平衡校正技术应运而生。

        值得注意的是,白平衡是彩色相机独有的功能,黑白相机由于不涉及色彩还原的问题,因此无需具备这一功能。在实际应用中,白平衡可以在多种像素格式下进行调节,包括但不限于Bayer、YUV和RGB等。这些像素格式各自具有独特的特点和优势,能够满足不同场景下的拍摄需求。

        综上所述,白平衡作为摄影领域的一项重要技术,对于确保色彩还原的准确性和真实性具有重要意义。通过合理的白平衡设置,我们可以更好地捕捉和呈现世界的真实色彩。

2、相机白平衡参数及操作

2.1 相机白平衡参数

1、自动白平衡(Balance White Auto)功能说明

自动白平衡开关启用后,用户可选择Continuous(连续)、Once(单次)和Off(关闭)三种模式进行白平衡调整。

  • Continuous(连续)模式:相机将实时根据当前场景的光线情况自动调整白平衡,确保色彩还原的准确性。
  • Off(关闭)模式:此模式下,相机不会自动调节白平衡,用户需手动调整3&4处的参数(即颜色通道选择及比值)来校正色彩。
  • Once(单次)模式:相机首先以Continuous模式运行,待白平衡调节至满意状态后,自动切换至Off模式,锁定当前的白平衡设置。适用于固定使用场景,确保白平衡稳定不变。若相机处于室外等光线变化较大的环境中,建议使用Continuous模式以适应光线变化。

2、自动白平衡色温模式(AWB Color Temperature Mode)

此模式允许用户根据光源色温进行白平衡调整,分为Wide(宽范围)和Narrow(窄范围)两种模式,默认设置为Narrow。

  • Narrow(窄范围)模式:适用于大部分普通白色光源,色温调节范围在2800-7500K之间。
  • Wide(宽范围)模式:适用于超出Narrow模式调节范围的光源色温,色温调节范围扩展至2000-15000K。但请注意,过宽的色温调节范围可能导致非白色物体被误校正为白色,从而引发偏色现象。因此,建议仅在Narrow模式无法满足需求时再考虑使用Wide模式。

3&4、颜色通道选择器(Balance Ratio Selector)与颜色通道比值(Balance Ratio)

  • 颜色通道选择器(Balance Ratio Selector):提供Red(红色)、Green(绿色)、Blue(蓝色)三个颜色通道供用户选择。
  • 颜色通道比值(Balance Ratio):用于调节选定颜色通道的分量,值域为1-4095,且为非线性调节。

        这两个参数仅在Balance White Auto为Off模式时方可调节,即用户需手动进行白平衡校正时才会用到。当图像出现色彩偏重时,可通过减轻对应颜色通道的分量值来进行校正。

2.2 自动白平衡操作

第一步:请确保在相机视野内放置一张纯白纸张,并完全覆盖视野范围。随后,点击界面上的“开始采集”按钮,以启动白平衡校正过程,具体操作图示如下。


http://www.kler.cn/a/384642.html

相关文章:

  • 【ddnsgo+ipv6】
  • 安卓图片的着色教程(tint的使用)
  • 信息化运维方案,实施方案,开发方案,信息中心安全运维资料(软件资料word)
  • 使用文心快码生成口算题,妈妈再也不用担心我的学习了
  • 履带机器人(一、STM32控制部分--标准库)
  • [mysql]DDL,DML综合案例,
  • 天锐绿盾加密软件与Ping32全面对比:为您的数据保驾护航,哪款加密工具更适合您?
  • 解析Go切片:为何按值传递时会发生改变?|得物技术
  • Python OpenCV 傅里叶变换
  • 纯血鸿蒙系统 HarmonyOS NEXT自动化测试实践
  • leetcode 3254 长度为 K 的子数组的能量值 I 中等
  • redhat5与ubuntu上Makefile语法区别
  • DevOps业务价值流:架构设计最佳实践
  • 【K8S问题系列】Kubernetes Pod节点CrashLoopBackOff 状态【已解决】
  • 技术干货丨Inspire Cast 如何避免自动网格划分失败?
  • 汽车免拆诊断案例 | 2017款凯迪拉克XT5车组合仪表上的指针均失灵
  • Git+Jenkins基本使用
  • 环保在线监测平台:环境健康云监测,大数据助力生态文明建设
  • 【前端基础】CSS进阶
  • 泷羽sec学习打卡-shodan扫描5
  • SpringBoot监控
  • vue3 pdf base64转成文件流打开
  • 阿里云函数计算GBK编码
  • 开源代码管理平台Gitlab如何本地化部署并实现公网环境远程访问私有仓库
  • 来咯来咯webSocket
  • JavaEE初阶---servlet篇(二)(smartTomcat的使用相关错误类型)