matlab实现灰度直方图及直方图均衡化

灰度直方图表示图像中具有某种灰度级的像素的个数,反映了图像中每种灰度出现的频率。它是图像最基本的统计特征。

横坐标:灰度级。

纵坐标:该灰度级出现的个数。

直方图均衡化(Histogram Equalization)是一种常用的图像增强方法,主要用于提高图像对比度和细节信息。该方法的原理是将图像的灰度直方图进行均衡化,即使得图像中各个像素灰度级之间的分布更加均匀。

1.灰度直方图

        这里采用两种方法,1.手写直方图,2.调用imhist函数

close all;
clear all;
clc;
I=imread('lena.bmp');
J=rgb2gray(I);
%手写直方图
[m,n] = size(J);
N=zeros(1,256);
for i=1:m
    for j=1:n
        k=J(i,j);
        N(k+1)=N(k+1)+1;
    end
end
figure;
subplot(131),imshow(J);
subplot(132),bar(N),title('手写直方图');%函数bar(x)可以绘制直方图
subplot(133),imhist(J),title('imhist函数');%imhist直接显示直方图
axis tight;%使坐标系的最大值和最小值和你的数据范围一致

matlab实现灰度直方图及直方图均衡化_第1张图片

 2.直方图均衡化

close all;
clear all;
clc;
I=imread('lena.bmp');
I=rgb2gray(I);
% 利用histeq函数对图像进行直方图均衡化
J=histeq(I);

subplot(221),imshow(I);
subplot(222),imhist(I);
subplot(223),imshow(J);
subplot(224),imhist(J);
axis tight;

matlab实现灰度直方图及直方图均衡化_第2张图片

 

你可能感兴趣的:(数字图像处理matlab,matlab,图像处理,计算机视觉)