直方图均衡

直方图均衡化的目的是为了找到并应用一个点运算使得修正后图像的直方图近似于一个均匀分布。基本思想是对于一幅图像(原始直方图为h)找到并应用一种点运算,使得修正后的图像的直方图heq近似均匀分布,因此累计直方图Heq应该近似楔形。由于直方图是一个离散分布,均匀点运算只能移动和合并直方图条目,所以只能在整体上得到一个近似的解。

根据以上变换思想,所求的点运算可以从原始图像的累积直方图H中求得:

其中图像大小为M×N,像素取值范围为[0,K-1]。用Matlab实现的代码如下所示:

%%

I = imread(‘Fig0316.tif‘);

subplot(231);imshow(I);title(‘原图像‘);

[m,n] = size(I);

H = zeros(1,256);

for v=1:m

for u =1:n

a = I(v,u);

H(a+1) = H(a+1)+1;   %求原图像的直方图

end

end

subplot(232);plot(1:256,H);title(‘原图像的直方图‘);

for k=2:256

H(k) = H(k)+H(k-1);     %求原图像的累积直方图

end

subplot(233);plot(1:256,H);title(‘原图像的累积直方图‘);

H2 = zeros(1,256);

for v=1:m

for u =1:n

%直方图均衡化操作

%原理是均匀分布图像的累积直方图是一个线性斜坡形状(楔形)

%基本思想是通过变换把原图像的累积直方图变为近似楔形

a = I(v,u);

b = uint8(H(a+1)*255/(m*n));  %其中m*n是图像大小,灰度范围是0~255

I(v,u) = b;

H2(b+1) = H2(b+1)+1;

end

end

subplot(234);imshow(I);title(‘直方图均衡后的图像‘);

subplot(235);plot(1:256,H2);title(‘直方图均衡后图像的直方图‘);

for k=2:256

H2(k) = H2(k)+H2(k-1);

end

subplot(236);plot(1:256,H2);title(‘直方图均衡后图像的累积直方图‘);

%%

仿真结果如下图所示:

时间: 2024-08-07 21:19:15

直方图均衡的相关文章

Matlab图像处理系列1———线性变换和直方图均衡

注:本系列来自于图像处理课程实验,用Matlab实现最基本的图像处理算法 图像点处理是图像处理系列的基础,主要用于让我们熟悉Matlab图像处理的编程环境.灰度线性变换和灰度拉伸是对像素灰度值的变换操作,直方图是对像素灰度值的统计,直方图均衡是对灰度值分布的变换. 1.灰度线性变换 (1)线性变换函数 原图向灰度值为g,通过线性函数f(x)=kx+b转换为f(g)得到灰度的线性变换. (2)代码实现 Matlab中支持矩阵作为函数参数传入,定义一个线性转换函数,利用Matlab矩阵操作,用一行代

MATLAB 图像处理-线性变换和直方图均衡

如何在MATLAB中对于已经被表示成数字矩阵的图像进行处理 一. 灰度拉伸变换 把图像中每个像素点的灰度值,按照希望达到的效果,以线性变化的形式,进行变换. 如下图,就是一种分段函数形式,把输入的X轴灰度值变换为输出的Y轴灰度值,只是将灰度值做分段线性变换.分段函数控制点(r1,s1)和(r2,s2) 创建分段函数: function [ new ] = StretchFunc(original, x1, y1, x2, y2 ) new = original; w = size(new, 1)

限制对比度自适应直方图均衡(Contrast Limited Adaptive histgram equalization/CLAHE)

转自:http://www.cnblogs.com/Imageshop/archive/2013/04/07/3006334.html 一.自适应直方图均衡化(Adaptive histgram equalization/AHE) 1.简述 自适应直方图均衡化(AHE)用来提升图像的对比度的一种计算机图像处理技术.和普通的直方图均衡算法不同,AHE算法通过计算图像的局部直方图,然后重新分布亮度来来改变图像对比度.因此,该算法更适合于改进图像的局部对比度以及获得更多的图像细节. 不过,AHE有过度

图像处理(四)——直方图均衡(Histogram Equalization)

直方图均衡(Histogram Equalization) 1. 总述 对于一张灰度图来说,每个像素点的取值为0~255,0表示黑色,255表示白色.如有下图1:     图1                                                                                                                       图2 我们很难看清上述图1中的内容,原因是图片亮度太低,并且像素点之间相差较小,人眼难

[openCV]直方图均衡

1.图像的直方图 图像的直方图,代表了图像的灰度值的分布状况.从直方图上,我们可以很明确的知道,图像的偏暗程度和饱和程度.如果一幅数字图像中,假设作为水平轴的灰度值rk出现了nk次,那么对应于垂直轴的归一化后的函数如下所示. pk=nkMN 这样的图像,被称为直方图.为了直观感受一下直方图的作用,我使用相机调节曝光补偿,拍摄了以下3枚图像. 从图像的上方的直方图就可以看出来,图像的偏暗程度与饱和程度.并且,可以将左图像与中央图像称为动态范围较窄的图像.相反的,对于右边图像,其动态范围较宽,图像得

直方图均衡与平台直方图

直方图均衡化(Histogram Equalization) 直方图均衡化处理的"中心思想"是把原始图像的灰度直方图从比较集中的某个灰度区间变成在全部灰度范围内的均匀分布.直方图均衡化就是对图像进行非线性拉伸,重新分配图像像素值,使一定灰度范围内的像素数量大致相同.直方图均衡化就是把给定图像的直方图分布改变成"均匀"分布直方图分布. 直方图均衡化的主要过程 统计每一个灰度值的像素点数和所占的百分比 累加每一个灰度值的百分比 利用新的灰度值的百分比,重新计算每一个灰度

自适应直方图均衡(AHE)和限制对比度的自适应直方图均衡(CLAHE)

本文翻译自https://en.wikipedia.org/wiki/Adaptive_histogram_equalization,如有错误还望海涵.. 自适应的直方图均衡(Adaptive Histogram Equalization) 1.算法简介 AHE是一种用来改善图像对比度的图像处理技术,它与传统的(普通)直方图均衡相比,不同点主要在于,AHE通过计算图像每一个显著区域的直方图,来重新分布图像的亮度值,因此它更适合于用来改善图像的局部对比度,以及增强图像边缘信息,利于分割. 但是,A

直方图均衡——彩色图片

彩色的图片处理方式本质上和黑白图片一样,基本上就是先将RGB颜色空间投影到YUV颜色空间,此时每个通道都相当于黑白图,然后对Y(亮度)通道进行灰度图的直方图均衡化,然后合成投影到RGB颜色空间.“实际上,对彩色分量rgb分别做均衡化,会产生奇异的点,图像不和谐.一般采用的是用yuv空间进行亮度的均衡即可.”维基百科的原话. 1 /************************************************ 2 作者:qich 3 用途:彩色直方图均衡化练习 4 *******

数字图像处理之直方图均衡

直方图均衡化的原理在这里就不赘述了,网上有多此类的博文,也可以参考冈萨雷斯的<数字图像处理>(第三版)一书中的第三章中的相关介绍; 这里演示一下直方图均衡化的效果: 原图像如下: 经过直方图均衡化处理后: 可以看到图像的对比度整体有的很大的提升,原本模糊不清的细节也变得清晰起来 直方图均衡化的算法实现可以分为三个步骤: 第一步:获得原图像的概率密度函数(PDF). 1 for(i=0;i<rows;i++) 2 { 3 for(j=0;j<cols;j++) 4 { 5 n[Ima