码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【红外DDE算法】HE算法在红外图像可视化上的应用(附源码)


    直方图均衡(HE)在红外图像可视化上的应用(附源码)

    1.背景需求

    制冷型红外相机模拟前端使用较高数据位数进行采样,一般常用 14位,16 位。但是人眼对于灰度的感知,最多能感知 128 个灰阶。并且数据一般是以 8 的整数倍的位宽在电子系统中应用,因此大多数的显示器的显示位宽为 8bit,共 256 个灰阶。为了使红外图像可视化,因此需要一种“数据压缩”技术,还需要既可能的不丢失原始图像信息。

    2.直方图均衡在红外图像可视化上的应用
    我们演示一种很简单的图像对比度提升算法,即直方图均衡方法。下面我将展示直方图均衡(histogram equalization)的主要步骤与结果,并附有完整代码。

    原始的14bit图像(以AGC方式调整两个边界压缩至8bit显示)
    在这里插入图片描述
    1) 直方图 pro 曲线

    直方图分布函数集中区域,如下图
    在这里插入图片描述
    2) 对直方图分布函数pro累积,得到累计后的sum函数。
    在这里插入图片描述
    累计函数信息集中区域,如下图
    在这里插入图片描述
    3) 根据累计 sum 曲线进行非线性映射
    newim(i,j)=uint8(sum(J(i,j)+1));
    4) 输出8bit图像结果与其直方图
    在这里插入图片描述
    在这里插入图片描述
    3.总结

    HE后的图像直方图分布比较均匀离散,图像对比度好 。但是HE算法只是适用某些图像,它是将灰度集中区域进行拉伸得到,也会放大该集中区域的噪声,它是一种“不公平”的映射。它并不是我们所说的真正DDE算法。
    这是一种很基础的图像处理手段。不过我们可以理解其思想,了解其基础原理,才有有所创新。

    附:MATLAB 源码

    %% 1.read raw
    path=('E:\prj\DDE\MWIR TEST');
    filename=('14.raw');
    fid=fopen(fullfile(path,filename));
    J=fread(fid,[640,512],'uint16');J=J';
    fclose(fid);
    %% 2.image histogram statistics
    [m,n]=size(J);
    pro=zeros(1,16384);
    sum=zeros(1,16384);
    for  i=1:m
          for  j=1:n
           pro(J(i,j)+1)=pro(J(i,j)+1)+1; 
          end
    end
    %% 3.calculate sum-curve
    sum(1)=pro(1);
    for g=2:16384
    sum(g)=pro(g)+sum(g-1);
    end
    newim=zeros(m,n);
    sum=sum.*256/(m*n);
    %% 4. projection by sum-curve
    for i=1:m
        for j=1:n
          newim(i,j)=uint8(sum(J(i,j)+1));
           if newim(i,j)>255
               newim(i,j)=255;
            end
       end
    end
    %% 5. 8bit-image show
    figure
    imshow(uint8(newim));
    title('newim');
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    THE END

  • 相关阅读:
    如何用数据采集网关快速采集工业现场数据,怎么搭建MQTT服务器?
    计算每组的前 N 名
    Flutter 处理异步操作并根据异步操作状态动态构建界面的方法FutureBuilder
    iOS 15.5 被曝“偷跑”流量?苹果:建议恢复出厂设置
    ros2 服务通讯示范源代码2023年9月27
    卧兔网络开启全球红人分销功能,WotoHub上线Shopify应用商店!
    计算机毕业设计 SSM家具定制管理系统 家具生产管理系统 家具订单管理系统
    MySQL(三):表的增删改查(进阶)
    初探Hessian利用链为Dubbo-CVE占坑
    vue移动端适配方案:amfe-flexible和postcss-pxtorem插件结合
  • 原文地址:https://blog.csdn.net/hahahahhahha/article/details/126050476
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号