【红外DDE算法】聊聊红外图像增强算法的历史进程(第一回)

宽动态红外图像增强算法综述
回顾过去
带你回顾宽动态红外图像增强算法的历史进程,历来学者的一步步革命(新的算法框架提出),一步步改革(改进优化),从简单粗暴到细致全面。
正所谓是:改革没有完成时,只有进行时。没有完美的算法,也没有最好的算法,只有更好更优秀的算法。
展望未来
以现在看90年代的算法,那时候的算法是有点粗糙,但是正是在这一点点的积累上,才有了现在较之优秀完美的算法。
正所谓是:站在巨人的肩膀,我们看得更远,不积跬步无以至千里。

目录

为什么需要该算法?
摘要
主要的三类算法思路大致介绍
第一类:基于映射的宽动态图像增强算法
第二类:基于图像分层的宽动态图像增强算法
第三类:基于梯度域的宽动态图像增强算法
三类算法的对比与优缺点分析

1.关于为什么需要宽动态红外图像增强算法?
详见我之前的文章《数字细节增强算法的缘由与效果(我对FLIR文档详解)》
https://blog.csdn.net/hahahahhahha/article/details/102978112.

2.摘要:
从三类算法开始介绍,基于映射的宽动态图像增强算法,基于图像分层的宽动态图像增强算法,基于梯度域的宽动态图像增强算法。

3.主要的三类算法思路大致介绍
早期的算法(大概1999年之前),主要是基于映射的。实现简单,复杂度低,但是细节不够凸显。
为此,学者提出了基于图像分层的算法(大概是从2001年开始),这种算法是将原始图像分为基础层和细节层,然后分别处理,以保证在压缩动态范围的前提下凸显细节信息,这类算法在细节增强上有了很大提升,但是容易产生 梯度反转 和 光晕现象。
为解决 梯度反转 和 光晕现象,学者又提出了基于梯度域的算法,但是不如第二类算法的细节效果好。

4.第一类:基于映射的宽动态图像增强算法
包括有:自增益的线性映射,Gamma 曲线,直方图投影等。

4.1 自增益的线性映射**
Iout(i,j)=255*Iin(i,j)/(max(Iin)-min(Iin));
最大值和最小值都是去掉极值之后得到的。
如何去极值呢?留给你自己思考吧。

4.2 Gamma 曲线
不同的Gamma参数 对应不同的效果,时好时坏,得手动调试,无法自适应。
还有就是无法消除或者越过“空缺灰度值”,因为gamma曲线无法做到分段处理。

4.3 借助直方图
4.3.1 最原始的直方图均衡
在某些场景上效果不错,但是缺点也很明显,过度增强,噪声过度放大,丢细节,褪色。

4.3.2 平台直方图均衡
最原始的直方图均给我们带来了一种高对比度的视觉体验,但它问题多多。
就丢细节这一点,FLIR在它的文档中已经明确说明:FLIR的DDE不是HE(直方图均衡)。我的这篇文章中对此有说明 https://blog.csdn.net/hahahahhahha/article/details/102978112.
它的水洗效果washed-out褪色 ,它的噪声放大更是无法容忍。
因此,学者又提出了一些优化办法。1995年,Vickers 提出了基于阈值的平台直方图均衡算法(plateau histogram equalization ,PHE) 。

4.3.3 自适应直方图均衡
1987年,PIZER等人还提出了自适应直方图均衡算法(adaptive histogram equalization ,AHE),这是一种不同于最原始的直方图均衡它是分区域的,从此打开了直方图均衡的另一扇窗,大家才知道原来还可以这么玩,也便有了“全局global”和“局部local ”之说。
AHE的优点是能够凸显局部细节,但是其缺点也是很恼人的,那就是很容易放大噪声。

4.3.4 限制对比度的自适应直方图均衡
1994年,ZUIDER VELD提出了对比度限制的自适应直方图均衡(CLAHE)算法,发表了举世瞩目的经典论文《contrast limited adaptive histogram equalization 》(强烈推荐学习),在算法在医学图像处理,安检图像处理有着非常广泛的应用。该算法从娘胎里就带来了光晕现象,还需改善。
MATLAB的Image toolbox 中有相关函数adapthisteq,我个人觉得:输入参数为手动,不能自适应,只是16-16,或者8-6,不适用于16bit到8bit 的红外图像处理。要想用,那就看原论文,自己写代码。

4.3.5 直方图映射
2009年,南理工的左超等人,在其论文中提出了一种改进型的直方图映射(modified histogram projection),该算法是在原始直方图均衡的基础上改进,不会放大噪声,类似普通的线性映射,与普通线性映射的区别是,该算法能够有效的越过(或者消除)“空缺灰度值”,在高动态的红外图像压缩中,能够得到一种类似“自适应的分段线性映射”的方法。对于灰度跨越过大的图像,效果很好。比如:一个人手上拿着一个很热的水杯。

结束语:
这一回用一首打油诗做个总结:
红外图像宽动态,
算法分为三大派。
基于映射第一类,
各路学者太有才。
全局局部都能搞,
是否线性无所谓。
噪声抑制很关键,
图像效果得改善。

时间有限,先写这么多。
下回聊重点聊:
“基于图像分层的宽动态图像增强算法”。

原文地址:https://www.cnblogs.com/sniper2020/p/12230478.html

时间: 2024-10-02 01:36:19

【红外DDE算法】聊聊红外图像增强算法的历史进程(第一回)的相关文章

一天一道算法题--6.13---计算几何

感谢微信平台---一天一道算法题---每天多一点进步 本来 想在世界杯之前 可以 开开心心地A了今天的算法题  .... 竟然是计算几何 我高数 那么渣....... 这题 先放着吧..... 哎.... 链接 还是一样先放出来 . touch me 平常这个点 再过会 就应该要碎觉了 今天 = 个揭幕战 累死我的节奏,,, 现在去做点什么呢........... 一天一道算法题--6.13---计算几何,布布扣,bubuko.com

[转载]简单易学的机器学习算法-决策树之ID3算的

一.决策树分类算法概述 决策树算法是从数据的属性(或者特征)出发,以属性作为基础,划分不同的类.例如对于如下数据集 (数据集) 其中,第一列和第二列为属性(特征),最后一列为类别标签,1表示是,0表示否.决策树算法的思想是基于属性对数据分类,对于以上的数据我们可以得到以下的决策树模型 (决策树模型) 先是根据第一个属性将一部份数据区分开,再根据第二个属性将剩余的区分开. 实现决策树的算法有很多种,有ID3.C4.5和CART等算法.下面我们介绍ID3算法. 二.ID3算法的概述 ID3算法是由Q

智能家居之红外遥控---手机万能红外遥控器

今天小X教你用你的智能手机做一个万能遥控器 需要准备一些材料: 1:一个搭载38K载波的红外发射管,(波长940nm) 标准模式:30KHz-60KHz:远程模式:38K. 我们的万能遥控器最好使用品牌的 品牌的38K+-5KB都适用 正常的38K+-3KB适用 部分山寨的遥控器载波最大到最大38K±20K,我们的遥控器将无法使用了, 所以我们的万能遥控器只能控制85%左右的红外设备 适用与于下列带红外控制的设备(电视,机顶盒,空调,投影仪,盒子,DVD,功放,单反,风扇,红外灯) 需要一个载波

无损数据压缩算法的历史

引言 有两种主要的压缩算法: 有损和无损.有损压缩算法通过移除在保真情形下需要大量的数据去存储的小细节,从而使文件变小.在有损压缩里,因某些必要数据的移除,恢复原文件是不可能的.有损压缩主要用来存储图像和音频文件,同时通过移除数据可以达到一个比较高的压缩率,不过本文不讨论无损压缩.无损压缩,也使文件变小,但对应的解压缩功能可以精确的恢复原文件,不丢失任何数据.无损数据压缩被广泛的应用在计算机领域,从节省你个人电脑的空间,到通过web发送数据.使用Secure Shell交流,查看PNG或GIF图

【算法29】速算24

问题描述 题目来源:PAT ds 2-08 给定四个数字a, b, c, d,取值范围为[1, 13]:添加合适的运算符 + , - , * , /, 和括号(, )使得表达式等于24,给出一种可能的表达式方案:如果不可能则返回-1. 例如:输入2, 3, 12, 12, 输出 ((3-2)*12) + 12. 输入5, 5, 5, 2, 输出-1. 问题分析 这个题目似乎没有好的算法,只能暴力搜索. 首先对于所有给个数字进行全排列,总过有$A_4^4 = 24$中排列方式: 然后对于每一种排列

目标检测算法的历史及分类

随着人工智能的兴起,目标检测算法在各行业中起的作用越来越大,怎么落地,这是一个非常严峻的话题.今天看到一位大牛的分享,学习了. 把该领域的算法和历史做个梳理.方便后续研究. 按照时间分类,可以把该算法分成两类:传统算法和CCN算法.  传统算法: 级联分类器框架:Haar/LBP/积分HOG/ACF feature+Adaboost 级联分类器最先由Paul Viola and Michael J. Jones在CVPR 2001中提出来. 其实这就是boosting由简单弱分类拼装强分类器的过

转 书评:来聊聊GIS的算法书

蒋波涛 http://blog.3snews.net/space.php?uid=16796&do=blog&id=22870 1984年图灵奖获得者,Pascal语言的发明人Niklaus Wirth教授曾经给程序下过一个经典定义“程序=算法+数据结构”,一针见血.在我看来,算法和数据结构就好象哲学中的方法论和认识论一样,前者明确了解决一个问题的思路,而后者提供了解决问题的对象. “算法”一词来源于公元9世纪波斯数学家比阿勒.霍瓦里松的著作<代数对话录>,它是指完成一件事情的

按日期导出拉链算法的历史值

select sum( case when (t.beg_dt<='20150401' and t.end_dt>'20150401') then t.ac_bal else 0 end ) d1,sum( case when (t.beg_dt<='20150402' and t.end_dt>'20150402') then t.ac_bal else 0 end ) d2,sum( case when (t.beg_dt<='20150403' and t.end_dt

[数据结构与算法]常用排序算法分析与实现:第一部分

声明:原创作品,转载时请注明文章来自SAP师太技术博客:www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4289903.html 插入排序 直接插入排序.希尔排序 选择排序 简单选择排序.堆排序 交换排序 冒泡排序.快速排序 归并排序 基数排序 排序基类 1 package sort; 2 3 import java.util.Arrays; 4