红外图像直方图均衡化算法理解
1.红外图像直方图均衡化背景与目的
红外相机探测器的输出模式有模拟量和数字量,模拟量输出的需要用ADC转换,因而红外相机输出的数据位数一般都在12位到16位,对应的灰度级基本在2^12~2^16级而人眼能分辨的灰度级仅有256级。红外图像景物的灰度细节仅分布在很少的灰度级中致使人眼无法区分,所以需要将图像的灰度级展开到人眼能分辨的范围中,因而需要进行图像增强。
2.红外图像直方图均衡化算法
直方图均衡化算法是一类算法,在普通直方图均衡化算法基础上进行了一系列改进,引申出双平台直方图均衡化、自适应直方图均衡化等等。直方图均衡化的基础在于统计出每个灰度级的概率密度从而进行映射得到新的图像,增强效果从数学上展示就是像素从集中在几个灰度级范围内变成分布到很大的范围内。
因为本人对于图像处理的数学理论掌握不是很牢靠,涉足图像处理领域不过短短1年多,这里就不在班门弄斧,搞学术理论那一套了。
这里就简单说一下最基本的图像直方图的计算方法
3.红外图像直方图均衡化算法
首先统计一幅图中各个灰度级有多少个像素点,依次把所有的灰度级都统计一遍,如果你的探测器是14位的就把16383个灰度级都统计一遍。
第二步就是累加,灰度级为0的像素点个数如果为10,那就是10不累加,灰度级为1的个数例如是5,把1和0灰度级的像素点个数累加15,赋给灰度级1,灰度级2就把0、1、2的个数加起来赋给2依次类推直到灰度级16383,这样就形成了一个统计累加表格,从0到16383每一个都对应一个累加值。
第三步映射,把之前统计累加好的表格作为查找表,把像素值作为索引进行替换。例如第一个像素值为10,那就找表格中像素值为10的把它对应的累加值取出来除以x赋给第一个像素就完成整个计算过程。
其中参数x要根据你的探测器分辨率来计算,以640*512 14位为例,x=640*512/2^14,如果你想输出8位图像,就是把14位映射到8位,那就是x=640*512/2^8.
以上就是我理解的直方图增强计算过程,本人不懂数学算法那一套只会懂操作步骤,望大家不要嫌弃本人粗鄙,希望我的理解对大家有所帮助,篇幅不长都是自己总结的,之前积累的实操素材都被留在了单位,被撵出来之前没给我存档的机会,两年的积累只剩下记忆中残存的这些了。就把剩下的这点写出来以备不时之需吧。
红外图像直方图均衡化算法理解相关推荐
- 直方图均衡化算法原理及bins的理解
原理部分转载于:直方图均衡化算法原理与实现 bin的理解和直观展示见 part2 part1 直方图均衡化算法原理 我们知道提高图像对比度的变换函数f(x)需要满足以下条件: f(x)在0<=x ...
- Python实现图像直方图均衡化算法
title: "Python实现图像直方图均衡化算法" date: 2018-06-12T17:10:48+08:00 tags: [""] categorie ...
- 图像直方图均衡化算法 python实现
一. 直方图均衡化: 直方图均衡化是使图像直方图变得平坦的操作.直方图均衡化能够有效地解决图像整体过暗.过亮的问题,增加图像的清晰度. 具体流程如下所示.其中S是总的像素数,Zmax是像素的最大取值( ...
- 直方图均衡化算法原理详解
算法 经典算法 下面以一幅3*2像素的简单图片(图C)为例,来说明灰度直方图均衡化的算法. (图C) 图C的直方图: 注意看百分位(Percentile)这一项.一般软件的百分位是 当前色阶的像素数量 ...
- 限制对比度自适应直方图均衡化算法原理、实现及效果
一.自适应直方图均衡化(Adaptive histgram equalization/AHE) 1.简述 自适应直方图均衡化(AHE)用来提升图像的对比度的一种计算机图像处理技术.和普通的直方图均衡算 ...
- 一些常用的直方图均衡化算法
直方图均衡化(HE) 直方图均衡化是常用的图像增强的方法.通过一种映射改变图像中的灰度值,增加图像灰度值的动态范围从而增加图像的对比度.过度曝光的图像中的灰度值主要集中在高亮度的范围内,而曝光不足的图 ...
- openCV中直方图均衡化算法的理解
直方图均衡化就是调整灰度直方图的分布,即将原图中的灰度值映射为一个新的值.映射的结果直观表现是灰度图的分布变得均匀,从0到255都有分布,不像原图那样集中.图像上的表现就是对比度变大,亮的更亮,暗的更 ...
- python直方图均衡_Python实现图像直方图均衡化算法
效果图 代码 #!/usr/bin/env python3 # coding=utf-8 import matplotlib.image as mpimg from matplotlib import ...
- 限制对比度自适应直方图均衡化算法(CLAHE)实现
1. 概述 本篇文章是基于这篇博文写的,然后经过粗略查看之后,将其运用到课题中,这里将此记录下来作为记录,文章中若有错误的地方敬请谅解. 2. 实现代码 bool CLAHE_Algorithm::C ...
最新文章
- GOF23设计模式(创建型模式) 原型模式
- 【温故知新】——原生js中常用的四种循环方式
- Unix环境高级编程学习笔记(五)
- python的魔法_python魔法方法大全
- C语言程序设计与有限元,C语言与有限元程序设计.pdf
- (计算机组成原理)第二章数据的表示和运算-第四节1:算数逻辑单元和电路基本知识以及基本逻辑运算和全加器还有串行、并行加法器
- 诗与远方:无题(七十一)- 雨季来了
- Android_Service组件详解
- w10恢复出厂设置_路由器如何恢复出厂设置
- Spring Boot 项目中Java对象的字符串类型属性值转换为JSON对象的布尔类型键值的解决方法及过程
- VS2010下编译sqlite3
- 吴恩达深度学习C4W1(Pytorch)实现
- U盘中了磁碟机病毒怎么办
- When executing step “qmake“
- 人工智能的历史(History of artificial intelligence)
- Fibonacci数列Linux程序,使用fork()调用计算Fibonacci数列
- 常用的计算机病毒检测方法有哪些,计算机病毒检测方法有哪些呢
- 天刀 服务器状态,天刀实用技巧_天刀各种游戏小技巧_玩游戏网
- 安卓轻量级线上APM监测
- 创建软RAID5阵列
热门文章
- C语言新手入门|初始C语言
- 吴恩达深度学习课程之第四门课 卷积神经网络 第二周 深度卷积网络
- 移动u盘装linux移动系统下载,(把Linux装进U盘打造最简洁移动系统.doc
- Python毕业设计 抖音短视频数据分析与可视化 - python 大数据 可视化
- C#上位机(编码/汉字转换)
- 使用Java语言开发在线电影推荐网 电影推荐系统 豆瓣电影爬虫 基于用户、物品的协同过滤推荐算法实现 SSM(Spring+SpringMVC+Mybatis)开发框架 机器学习、人工智能、大数据开发
- 国内的商业投诉机构形同虚设!
- Linux中使用mvn命令(使用Maven:-bash:mvn:command not fonud)随笔
- 使用Markdown排版微信公众号 代码格式化
- C语言实验题目及其解答