直方图与直方图均衡化

news2024/10/6 5:59:23

直方图

图像直方图是用来表现图像中亮度分布的直方图,给出的是图像中某个亮度或者某个范围亮度下共有几个像素,即统计一幅图某个亮度像素数量。
直方图作为一种简单有效的基于统计特性的特征描述子,在计算机视觉领域广泛使用。

它的优点主要体现在两个方面:

  • 其一,对于任意一个图像区域,直方图特征的提取简单方便
  • 其二,直方图表征图像区域的统计特性,可以有效表示多模态的特征分布,并且本身具备一定的旋转不变性。

参考文章

真正搞懂图像直方图

直方图均衡化

直方图均衡化的目的

有时候我们拿到的图像要么偏亮,要么偏暗,就会影响计算机的判断,直方图均衡化的目的就是使图像增强
直方图均衡化就是将原图像的直方图通过变换函数变为均匀的直方图,然后按均匀直方图修改原图像,从而获得一幅灰度分布均匀的新图像(注意这里的均匀不是平均)。直方图均衡化就是用一定的算法使直方图大致平和的方法
为了将原图像的亮度范围进行扩展,需要一个映射函数,将原图像的像素值均衡映射到新直方图中,这个映射函数有两个条件:
1.为了不打乱原有的顺序,映射后亮、暗的大小关系不能改变
2.映射后必须在原有的范围内,比如(0-255)

步骤

1.依次扫描原始灰度图像的每一个像素,计算出图像的灰度直方图H
2.计算灰度直方图的累加直方图
3.根据累加直方图和直方图均衡化原理得到输入与输出之间的映射关系。
4.最后根据映射关系得到结果:dst(x,y)=H’(src(x,y))进行图像变换

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
————————————————
版权声明:本文为CSDN博主「Rcoons」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/LPJCSY/article/details/105580263

参考文章

小白入门计算机视觉(四) : 图像基本处理----直方图(Histogram)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/548589.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

上下文无关文法、句柄、正规文法、规范推导、文法二义性

目录 上下文无关文法 句柄 正规文法 规范推导 文法二义性 上下文无关文法 上下文无关文法(Context-Free Grammar,CFG)是一种形式语言,用于描述一类语言的语法结构。它由一组产生式规则组成,每个规则定义了如何将一…

hackthebox htb interface:CVE-2022-28368

本题考察:CVE-2022-28368 CVE-2022-28368 - 通过远程 CSS 字体缓存安装的 RCE 参考: https://www.0le.cn/archives/58.htmlhackthebox-interface信息搜集nmap扫描端口发现开放的22和80PORT STATE SERVICE REASON22/tcp open ssh syn-ac...https://www.0le.cn/archives/58.htm…

Spring 经典面试题总结

❤ 作者主页:欢迎来到我的技术博客😎 ❀ 个人介绍:大家好,本人热衷于Java后端开发,欢迎来交流学习哦!( ̄▽ ̄)~* 🍊 如果文章对您有帮助,记得关注、点赞、收藏、…

learn_C_deep_12 (深度理解“取整“、“取余“、“取模“运算、掌握运算符优先级 )

目录 关于“取整” "取整"规则 1、向零取整 2、向-∞取整 3、向∞取整 4、四舍五入 关于"取模和取余" 运算符优先级 关于“取整” #include <stdio.h> int main() {//本质是向0取整int i -2.9;int j 2.9;printf("%d\n", i); /…

【C++】 排列与组合算法详解(进阶篇)

文章目录 写在前面算法1&#xff1a;朴素算法思路缺点 算法2&#xff1a;递推预处理思路时间复杂度&#xff1a; O ( n 2 ) O(n^2) O(n2) 算法3&#xff1a;阶乘逆元思路时间复杂度&#xff1a; O ( n log ⁡ n ) O(n \log n) O(nlogn)思考&#xff1a;读者也可以尝试写 O ( n…

PySide6/PyQT多线程之 多线程 与 线程池的模板(拿来即用)

前言 关于PySide6/PyQT多线程系列的最后一篇。写这篇文章的动机是方便后续代码的直接复用。 本篇文章实际是水文&#xff0c;给出了 PySide6/PyQT的多线程以及线程池的基础使用模板&#xff0c;方便后面有需要时候直接拿来就用。 多线程 这里分两种情况来谈论&#xff0c;有返…

[Hadoop]MapReduce与YARN

目录 大数据导论与Linux基础 Apache Hadoop、HDFS MapReduce MapReduce思想 MapReduce设计构思 MapReduce介绍 MapReduce官方实例 Map阶段执行流程 Reduce阶段执行流程 shuffle机制 YARN YARN介绍 YARN架构、组件 程序提交YARN交互流程 YARN资源调度器Scheduler…

IOS新建应用

一&#xff1a;Application App。普通app。Document App。打开是记事本类似App。Game。新建游戏相关app。RealityKit为新建一个打开摄像机&#xff0c;一个Ar立方体的应用。 SenceKit为有一架飞机旋转的游戏App。 SpirteKit为一个手指头按上会出一个手指特效的应用。 Metal为一…

【IDEA使用指南】使用Hibernate框架的Java项目,如何通过数据库表自动生成实体模型?

文章目录 【IDEA使用指南】使用Hibernate框架的Java项目,如何通过数据库表自动生成实体模型?步骤1:找到并打开“Persistence”工具栏。步骤2:找到并打开“Import Database Schema” 窗口。步骤3:配置数据源信息步骤4:查看自动生成的实体模型。【IDEA使用指南】使用Hibern…

如何在IDEA中显示时序图

如何在IDEA中显示时序图 有时候&#xff0c;我们想要了解代码的运行过程的时候&#xff0c;想要看到方法的调用流程。 这个时候就希望有一个时序图可以看&#xff0c;但是人工来画时序图太麻烦了&#xff0c;有没有办法在IDEA中直接生成呢&#xff1f; 当然是可以的。 这里…

Access denied for user ‘root‘@‘localhost‘ (using password:YES) 解决方案

文章目录 问题描述解决方案&#xff1a; 问题描述 Access denied for user ‘root’‘localhost’:拒绝用户’root’localhost’的访问。 出现这个报错语句的一般原因是输入了错误的密码&#xff0c;也有可能是是root帐户默认不开放远程访问权限。 相关的解决方法是重新设置…

【Linux】sysfs文件系统

【Linux】sysfs文件系统 前言 一、sysfs文件系统 1.1 sysfs系统是什么 1.2 sysfs的运行机制原理 二、sysfs中重要的结构体 2.1 kobject和kset之间的关系 2.2 kobject结构体 2.3 kset结构体 前言 重要的环节&#xff1a;带着问题不断前进 sysfs文件系统是什么sysf文件系…

YOLOv5 实例分割入门

介绍 YOLOv5 目标检测模型以其出色的性能和优化的推理速度而闻名。因此,YOLOv5 实例分割模型已成为实时实例分割中最快、最准确的模型之一。 在这篇文章中,我们将回答以下关于 YOLOv5 实例分割的问题: YOLOv5检测模型做了哪些改动,得到了YOLOv5实例分割架构?使用的 Prot…

RTC实时时钟源码分析

1.先来看一下RTC的配置过程 2.RTC源码讲解 我们的工程中加入了 rtc.c 源文件和 rtc.h头文件&#xff0c;同时&#xff0c;引入了 stm32f10x_rtc.c 和 stm32f10x_bkp.c 库文件。 说明&#xff0c;首先是 RTC_Init&#xff0c;其代码如下&#xff1a; //实时时钟配置 //初始化…

UI自动化测试遇弹窗怎么办?这个解决方法你get到了没?

目录 引言 弹窗的种类: APP内的业务弹窗 弹窗处理 watcher的使用 实战案例 软件测试技术的准备和建议 一、测试基础 二、Linux必备知识 三、Shell脚本 四、互联网程序原理 五、MySQL数据库 六、抓包工具 七、接口测试工具 八、Web自动化测试Java&Python 九…

关于C语言的杂记5

文章目录 引入正文内部函数与外部函数相关数组的知识点数组的初始化测试一维数组在内存中存储的地址&#xff1a;遍历二维数组的值测试二维数组的地址(观察内存情况)数组下标为0开始的由来 两个数交换位置的三种方法 引入 写在前面&#xff1a;关于C语言这部分内容&#xff0c;…

msys2 pacman 安装 ncurses-devel 解决 make menuconfig 问题

问题描述 windows 下使用 msys2 环境&#xff0c;可以开发编译一些 Linux 下的软件包&#xff0c;一般Linux 下的软件包&#xff0c;需要安装 PC 平台的gcc、gcc交叉编译工具链&#xff0c;如 arm的&#xff0c;以及一些常用的 软件包&#xff0c;如 python 等 有一个软件包&a…

【工具】Ubuntu 非root用户 安装openssl

文章目录 openssl 下载 & 解压指定安装路径编译安装配置环境变量验证是否安装成功 openssl 下载 & 解压 openssl 下载地址 或者 https://www.openssl.org/source/openssl-1.1.1l.tar.gz 上传到服务器 解压 tar -zxvf openssl-1.1.1l.tar.gz切换到openssl-1.1.1l目…

maven-resources-plugin详解

目录 一、什么场景会用到&#xff1f;二、他有什么作用&#xff1f;三、插件常用配置1、字符集编码2、resources相关的配置2.1、resources配置结构2.2、resources默认配置2.2.1、maven超级pom默认配置2.2.2、spring-boot对resources插件的默认配置2.2.3、resources最终生效的配…

2023年最新VMware 17+虚拟机详细配置安装【程序员使用指南】!!

文章目录 Vmware版本选择17Pro安装自定义安装填写对应的许可证正式安装虚拟机进行对应的配置配置镜像文件选择对应的语言&#xff1a;到这个界面&#xff0c;选择中文 安装结束连接对应的xshell Vmware版本选择17Pro安装 ● 最开始从这里出发 自定义安装 ● 记得自定义在自…