天天看点

数字图像处理——直方图均衡化数字图像处理——直方图均衡化

数字图像处理——直方图均衡化

%函数名称为Image_HistogramEqualization,输入参数Image,输出参数IMAGE
function [IMAGE] = Image_HistogramEqualization(Image)
%获取矩阵的行、列、波段数
[m,n,bands] = size(Image);
%初始化计算矩阵
IMAGE = Image;
%计算图像的直方图矩阵
Hist = Image_Hist(Image);
%建立灰度映射函数
for k = 1:bands
    for i = 1:256
        P(i,k) = round(255* Hist(i,2,k));
    end
end
%计算直方图均衡化后的矩阵
for k = 1:bands
   for i = 1:m
       for j = 1:n
           IMAGE(i,j,k) = P(IMAGE(i,j,k)+1,k);
       end
   end
end
%画图,左右分别表示原图和处理后的图像
figure(1);
subplot(1,2,1);
imshow(uint8(Image));
title('原始图像');
subplot(1,2,2);
imshow(uint8(IMAGE));
title('直方图均衡化后的图像')
end
           

继续阅读