• 数字增益和模拟增益理解和示例


    本文对数字增益和模型增益的理解做简单介绍,并使用海康工业相机的MVS提供调参平台进行参数调整和效果展示,最后使用C++模型相应的增益,更加直观的展示效果。


    相机增益分为模拟增益和数字增益两种。模拟增益可将模拟信号放大;数字增益可将模数转换后的信号放大。

    增益数值越高时,图像亮度也越高,同时图像噪声也会增加,对图像质量有所影响。且数字增益的噪声会比模拟增益的噪声更明显。

    若需要提高图像亮度,建议先增大相机的曝光时间;若曝光时间达到环境允许的上限不能满足要求,再考虑增大模拟增益;若模拟增益设置为最大值还不能满足要求,最后再考虑调整数字增益。

    模拟增益

    模拟增益主要是调节线性放大输入的信号强度。其大小直接影响输出音频功率的值在一定范围内,较大的输入值有利于提高输出信噪比,也会同比增加输出功率。但是当输入过大后输出功率增加变缓,而失真则急剧上升。其最佳调整值应使输出电压峰值在放大器的线性范围内。

    数字增益

    数字增益主要是调节数模转换输入的脉冲幅度。其值过小,会造成丢失误码的增大;如果幅度过大,因数据脉冲严重切顶,噪声脉冲增加,数字信号信噪比也会劣化,也造成干扰误码的增加。数字增益的最佳值是调整在数字电路输入的域值范围内的上限。数字增益的大小,不会增加或减小输出音频功率的值,只影响解码器的工作状态。

    海康MVS示例

    模拟增益为0时:

    在这里插入图片描述

    模拟增益为20时:

    在这里插入图片描述

    开启数字增益

    在这里插入图片描述

    C++模拟示例

    此处,使用像素值乘以固定系数的方式,模拟上面所述的增益效果。

    #include 
    #include 
    
    int main() {
        // 读取图像
        cv::Mat img = cv::imread("0.bmp");
        if (img.empty()) {
            std::cout << "Could not read the image" << std::endl;
            return 1;
        }
    
        cv::Mat brightened_img;
        cv::multiply(img, 6, brightened_img); // 像素值增大6倍
    
        cv::imshow("Original Image", img);
        cv::imshow("Brightened Image", brightened_img);
        cv::imwrite("zengyi.jpg", brightened_img);
        cv::waitKey(0);
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    在这里插入图片描述

    系数为3

    在这里插入图片描述

    系数为6

    在这里插入图片描述

    总结

    由上可知,随着增益的增大,图像对比度和亮度都增强,但也有注意系数的设置,数字增益会产生噪声,系数过大曝光严重还会产生全白现场。

  • 相关阅读:
    Dubbo(五):Dubbo 2.7 服务导出引入调用
    ruoyi框架开发LOT项目
    数据链路层之以太网协议基本知识总结分享
    以通俗易懂的方式了解MySQL 索引和 B+Tree(至尊典藏版)
    2023秋招华为技术岗线上面试经历
    PGL图学习之图神经网络ERNIESage、UniMP进阶模型[系列八]
    你真的懂TSP吗
    PowerDesigner的表设计显示Comment的配置操作场景
    misc类设备驱动0——板载蜂鸣器驱动测试
    PyQt5 QWebEngineView网页交互
  • 原文地址:https://blog.csdn.net/qq_22734027/article/details/134530577