数字图像处理——直方图均衡化
%函数名称为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