《数字图像处理笔记》
【Ch1.数字图像基础】P1-P3
【Ch2.数字图像处理基础】P3-P5
【Ch3.空域图像增强】P6-P11
附直方图均衡化算法代码实现:(Matlab)
%3.4.2直方图均衡化
%Matlab代码实现:
clear;
close all;
clc;
figure('name','输入直方图');
axis([0 8 0 0.25]);
n=4096;
L=8;
rk=[0 1 2 3 4 5 6 7];
nk=[508 821 898 892 552 181 159 85];
for i=1:length(nk)
pr(i)=nk(i)/n;
end
pr
bar(pr,0.2,'r')
grid on;
xlabel('灰度级');
ylabel('概率');
for i=1:length(nk)
if(i==1) sk(1)=pr(1);
else
sk(i)=sk(i-1)+pr(i);
end
end
for i=1:length(nk)
skc(i)=round(sk(i)*(L-1))
end
skc
for i=1:length(nk)
ps(i)=0;
end
for i=1:length(nk)
ps(skc(i)+1) = ps(skc(i)+1) + pr(rk(i)+1);
end
ps
figure('name','输出直方图');
bar(ps,0.2,'g')
grid on;
xlabel('灰度级');
ylabel('概率');
结果如下所示: