直方图

直方图的观看规则就是“左黑右白”,左边代表暗部,右边代表亮部,而中间则代表中间调。

纵向上的高度代表像素密集程度,越高,代表的就是分布在这个亮度上的像素很多。

对于一张“正常”的照片来说,直方图应该是中间高两边低。

这张照片就是如此。

这张照片的直方图显示的信息可以这样分析:照片的最左侧有高度,但是很少。这说明这张照片有阴影,但不多。最右边也有高度,说明有高光,同样很少。这就是一张最正常不过的照片了,它的直方图就是这样的,可以称之为“对比度正常的中间调”。

直方图规定化

直方图均衡化能够自动增强整个图像的对比度,但它的具体增强效果不容易控制,处理的结果总是得到全局均匀化的直方图。实际上有时需要变换直方图,使之成为某个特定的形状,从而有选择地增强某个灰度值范围内的对比度。

这时可以采用比较灵活的直方图规定化。一般来说正确地选择规定化的函数可以获得比直方图均衡化更好的效果.

所谓直方图规定化,就是通过一个灰度映像函数,将原灰度直方图改造成所希望的直方图。所以,直方图修正的关键就是灰度映像函数。

例如:Pr (r)为原图像的灰度密度函数, Pz (z)为希望得到的增强图像的灰度密度函数,二者的直方图如下:

直方图规定化增强处理的步骤如下:

其增强原理是先对原始的直方图均衡化:S = T(r)

同时对规定的直方图均衡化:v = G(z)

由于都是均衡化,故令 S = v,则:z = G-1(v) = G-1[T(r)]

原理:

在Matlab中没有直接实现灰度规定化的函数。

但是我们可以通过imhist和histeq两个函数的结合使用来实现。

直方图规定化首先也得求灰度图像的灰度级数的概率密度和累计分布函数,得到原始图像和模板图像的灰度累计分布函数直方图后(这里的模板的灰度级数N和原始图像的灰度级数M我们只讨论M>=N的情况),有两种方式将模板灰度分布特征映射到原始图像中。一是单映射规则(SML),二是组映射规则(GML)。

单映射规则(SML)

单映射规则具体操作步骤如下:对一原始图像的每个灰度级数i的灰度累计分布函数(nor_I_hist(i))与模板图像灰度级数灰度累计分布函数值(nor_M_hist(i))作差值后取绝对值运算,比较运算得到的结果,差值绝对值的最小值对应的最小位置便是原始图像映射到模板图像的灰度值。

2.组映射规则(GML)

组映射也是先求出原始图像和模板图像的累计分布函数直方图。在此基础上,与单映射相反,组映射是用模板图像中每个灰度级的累计分布函数(灰度直方图概率密度为0的灰度级除外)依次与原始图像的所有累计分布函数值作差,在所有差值中找出绝对值最小值所对应的原始图像灰度级,将该灰度级与上一次映射灰度级之间的原始图像灰度级都映射为模板图像中与之差值绝对值最小的灰度级。

阐述完上述原理后,我们通过基于Matlab的编程来进一步验证我们方法的正确性。

SML结果:

GML结果:

matlab 直方图规定化,直方图规定化相关推荐

  1. 直方图均衡化取整怎么计算_玩转直方图处理之直方图均衡化、规定化

    冒泡....双十一刚过~购物狂欢完还是要收心学习鸭!今天来说一说直方图. 直方图 定义: 直方图是一种统计报告图,由一系列高度不等的纵向条纹或线段表示数据分布的情况. 一般用横轴表示数据类型,纵轴表示 ...

  2. histeq函数实现直方图的均衡化和规定化

    %histeq函数实现直方图的均衡化和规定化 clear,clc,close all; Image1 = rgb2gray(imread('baboon.jpg')); Hgram = imhist( ...

  3. 直方图均衡化、规定化、局部直方图均衡化、直方图统计

    一.直方图均衡 如图3.16所示,是4个基本灰度级为特征的花粉图像:暗图像.亮图像.低对比度图像和高对比度图像,右侧显示了与这些图像对应的直方图. 由四张图的对比我们可知,如一幅图像的像素倾向于占据整 ...

  4. c++ opencv 图像处理:直方图处理(直方图均衡化,直方图匹配(规定化))

    文章目录 前言 一.直方图(histogram) 二.直方图处理 1.直方图均衡化 2.直方图匹配(规定化) 三.opencv函数总结 1.equalizeHist图像均衡化 2.calcHist获取 ...

  5. 【医学图像处理】 2 灰度直方图、图像二值化(阈值分割)

    文章目录 1 灰度直方图 1.1 直方图理解 1.2 直方图计算 1.3 直方图均衡化 1.3.1 全局均衡化 1.3.2 自适应(局部)均值化 2 图像二值化(阈值分割) 2.1 二值化理解 2.2 ...

  6. java 灰度直方图_【数字图像处理】灰度直方图、直方图均衡化、直方图规定化...

    灰度直方图 一幅图像由不同灰度值的像素组成,图像中灰度的分布情况是该图像的一个重要特征.图像的灰度直方图就描述了图像中灰度分布情况,能够很直观的展示出图像中各个灰度级所占的多少. 图像的灰度直方图是灰 ...

  7. Mtlab中函数histeq的使用及直方图的均衡化、规定化

    直方图均衡化 均衡化处理的目的是得到比原图具有更高对比度的扩展了动态范围的图像. 原理 假设灰度级为归一化至范围[0,1]内的连续量,并令pr(r)p_r(r)pr​(r)表示给定图像中灰度级的概率密 ...

  8. 图像灰度直方图匹配(直方图规定化,Histogram Matching)实验

    一.使用相同图像,不同灰度分布做匹配 matlab代码: %% 两张图片histmatch,直方图均衡后match原图 clc;close all;clear all ImgIn=rgb2gray(i ...

  9. MATLAB实现图像灰度直方图

    (近期有用到灰度直方图的情况,就稍微做了一点点小总结,第一次总结,借鉴了很多博主的文章,下面会码出链接,膜拜大佬~) 1. 图像灰度直方图 灰度直方图是将数字图像中所有像素按灰度值的大小,统计每种像素 ...

  10. matlab实现彩色图像的直方图均衡化

    本篇用于记录用matlab实现彩色图像的直方图均衡化算法,并与matlab自带的直方图均衡化函数histeq做对比. 直方图原理可以参考下面的博客文章:直方图均衡化 原理.流程.公式推导及matlab ...

最新文章

  1. 分布式架构下,Session 共享有什么方案?
  2. java thread通知_JAVA 多线程(6):等待、通知 (1)
  3. 2016 版 Laravel 系列入门教程(一)
  4. C语言再学习 -- vim常用快捷键(转)
  5. 优先级队列 c语言,使用最小堆使用优先级队列(c语言版本)
  6. 首先记录异常的根本原因
  7. 数据链路层差错检验循环冗余码过程图示
  8. Fedora core 2下建立Poptop服务器以及常见问题
  9. 编程调节Win7/Win8系统音量的一种方法
  10. fseek函数、ftell函数、rewind函数详解
  11. JavaScript 获取当前URL信息
  12. Python笔记:集合的概念和使用
  13. Life:歌曲学习之教一个不会唱歌的人学会唱出《情非得已》、《海阔天空》、《红日》、《老男孩》等歌曲
  14. 微商相册图文添加自己喜欢的文字呢
  15. 分别实现:css动画、js动画、vue动画
  16. 拉格朗日乘子法——从单约束到多约束的直观翻译
  17. 实现自动轮播图(html+js)
  18. 4款一眼万年的精品软件,免费又好用,可惜很多人不知道
  19. maven配置私服地址(公司私服)记录
  20. 【Java】求1到100以内的素数(质数)

热门文章

  1. CANTest 测试软件基本操作介绍
  2. python - TXT章节文转为epub和mobi格式
  3. oracle mysql 推荐书籍
  4. 微信小程序商城项目实战(第三篇:商品列表)
  5. 乐视盒子u4刷Android,乐视盒子u4安装优酷
  6. centos8干净卸载mysql
  7. Java中常见的异常类型
  8. excel查找空值快捷键_『EXCEL定位条件快捷键』excel定位空值填充
  9. DXGI高帧率屏幕录像软件源码解析(声音捕获,抓屏,ffmpeg录像,MP4录像,flv录像,麦克风采集)(第1篇API展示及使用部分)
  10. Linux内核下载缓慢解决方法