首页 > 其他分享 >直方图均衡化原理与实现

直方图均衡化原理与实现

时间:2023-12-01 12:12:41浏览次数:36  
标签:img 均衡化 像素 直方图 灰度 图像 原理

一 直方图均衡化的概念

直方图均衡化(Histogram Equalization)是一种**增强图像对比度**(Image Contrast)的方法,其主要思想是将一副图像的**灰度直方图分布**通过**累积分布函数**变成**近似均匀分布**(直观上在某个灰阶范围内像素值保持一致 ),从而增强图像的对比度。为了将原图像的亮度范围进行扩展, 需要一个映射函数, 将原图像的像素值均衡映射到新直方图中。

问题1:为什么选择累计分布函数?

均衡化过程中,必须要保证两个条件:①像素无论怎么映射,一定要保证原来的大小关系不变,较亮的区域,依旧是较亮的,较暗依旧暗,只是对比度增大,绝对不能明暗颠倒;②如果是8位图像,那么像素映射函数的值域应在0和255之间的,不能越界。综合以上两个条件,累积分布函数是个好的选择,因为累积分布函数是单调增函数(控制大小关系),并且值域是0到1(控制越界问题),所以直方图均衡化中使用的是累积分布函数。

问题2:为什么使用累积分布函数处理后像素值会均匀分布?

对于概率分布函数和累积分布函数,前者的二维图像的灰度直方图是参差不齐的,后者因为人眼视觉系统(HVS),会将小范围内的像素值认为是同一个像素值,即在某个灰阶范围内像素值保持一致,故后者的二维图像的灰度直方图呈现均匀分布;

二 直方图均衡化的原理

假设图像中像素的总数是 N,图像的灰度级数是 L,灰度级空间是[0, L-1],用

标签:img,均衡化,像素,直方图,灰度,图像,原理
From: https://www.cnblogs.com/nbk-zyc/p/17869417.html

相关文章

  • HashMap底层原理与扩容机制
    1.7数组+链表1.8数组+(链表|红黑树)JAVA1.8之后hashmap树化规则HashMap里面定义了一个常量TREEIFY_THRESHOLD=8,当链表长度超过树化阈值8时,先尝试调用resize()方法进行扩容来减少链表长度,如果数组容量已经>=64(MIN_TREEIFY_CAPACITY),才会进行树化,Node节点转为TreeNod......
  • Unity3D 导出的apk进行混淆加固、保护与优化原理(防止反编译)
    ​ Unity3D导出的apk进行混淆加固、保护与优化原理(防止反编译)目录 前言:准备资料:正文:1:打包一个带有签名的apk2:对包进行反编译3:使用ipaguard来对程序进行加固 前言:对于辛辛苦苦完成的apk程序被人轻易的反编译了,那就得不偿失了,这篇文章就是解决Unity打包出来的包进......
  • Flutter应用程序的加固原理
    ​......
  • ssh框架原理及流程
    1.hibernate工作原理:读取并解析配置文件读取并解析映射信息,创建sessionFactory打开session创建事务transaction持久化操作提交事务关闭session关闭sessionFactory  为什么使用:对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码是一个基于jdbc的主流持久性框......
  • [转]多个进程间共享动态链接库的原理
    前面我们已经说过进程间的通信有好几种方式,其实现在我们讲的这种动态链接库也是进程间的通信方式之一。不管是windows还是Linux操作系统其实所有的操作系统的内涵知识都是一样的。动态链接库是windows操作系统的基础,其中windowsAPI基本上都是以动态链接库的形式来提供的,通常来......
  • DC电源模块的基本工作原理和应用
    BOSHIDADC电源模块的基本工作原理和应用DC电源模块是一种能够将交流电转化为直流电的电子装置。它的基本工作原理是利用变压器、整流桥、电容滤波、电压稳定器等电路组成,将输入的交流电转换为稳定的直流电输出。这种直流电源模块通常可以提供不同的电压和电流输出,以满足不同的应......
  • Flutter App混淆加固、保护与优化原理
    ​ FlutterApp混淆加固、保护与优化原理引言在移动应用程序开发中,保护应用程序的代码和数据安全至关重要。本文将探讨如何对Flutter应用程序进行混淆、优化和保护,以提高应用程序的安全性和隐私。一、混淆原理混淆是一种代码保护技术,通过修改源代码或编译后的代码,使其难以......
  • Flutter App混淆加固、保护与优化原理
    ​ 引言在移动应用程序开发中,保护应用程序的代码和数据安全至关重要。本文将探讨如何对Flutter应用程序进行混淆、优化和保护,以提高应用程序的安全性和隐私。一、混淆原理混淆是一种代码保护技术,通过修改源代码或编译后的代码,使其难以阅读和理解。混淆的主要目的是提高反编......
  • 【汽车科普】汽车构造与原理 4.变速器
    汇总【汽车科普】汽车构造与原理目录1.引言Transmission没有变速器,汽车也能走。但只能以一个速度前进,不能减速和加速,甚至一个小坡就能让汽车望而却步。变速器发展至今,种类繁多,手动、自动、无级、手自一体、自动离合、双离合……虽然种类繁多,但它们的变速原理,其......
  • Flutter应用程序的加固原理
    ​在移动应用开发中,Flutter已经成为一种非常流行的技术选项,可以同时在Android和iOS平台上构建高性能、高质量的移动应用程序。但是,由于其跨平台特性,Flutter应用程序也面临着一些安全风险,例如反编译、代码泄露、数据泄露等问题。为了保护Flutter应用程序的安全性,开发者需要进行加......