📄 yuxiuming.m
字号:
clear all;
clc;
a0=imread('D:\Mary.bmp');
a=a0;
subplot(2,3,1);
imshow(a);
title('原图像');
subplot(2,3,4);
imhist(a);
title('灰度图像直方图');
a=imadjust(a,[],[0.0,0.4]);
a1=a;
subplot(2,3,2);
imshow(a);
title('原灰度图');
%title('原图像直方图');
%a=imadjust(a,[0.0,0.3],[]);
%a=imadjust(a,[0.0,0.3],[]);
%subplot(2,3,3);
%imshow(a);
%title('均衡化后图象');
%a=imadjust(a,[],[0.0,0.3]);
%a=imadjust(a,[],[0.0,0.4]);
dot=zeros(1,8);
for i=1:256;
for j=1:256;
if a(i,j)<33
b(i,j)=1;
dot(1)=dot(1)+1;
elseif a(i,j)<65
b(i,j)=2;
dot(2)=dot(2)+1;
elseif a(i,j)<97
b(i,j)=3;
dot(3)=dot(3)+1;
elseif a(i,j)<129
b(i,j)=4;
dot(4)=dot(4)+1;
elseif a(i,j)<161
b(i,j)=5;
dot(5)=dot(5)+1;
elseif a(i,j)<193
b(i,j)=6;
dot(6)=dot(6)+1;
elseif a(i,j)<225
b(i,j)=7;
dot(7)=dot(7)+1;
else
b(i,j)=8;
dot(8)=dot(8)+1;
end
end
end
%for i=1:256;
% for j=1:256;
% imshow(a(i,j,1));
%end;
%end;
sum=0;
for i=1:8;
sum=sum+dot(i);
end;
p=zeros(1,8);
for i=1:8;
p(i)=dot(i)/sum;
end;
subplot(2,3,5);
bar(p,.01);
title(' 八灰度级统计图');
l=zeros(1,8);
l(1)=p(1);
for i=2:8;
l(i)=p(i)+l(i-1);
end;
%取整扩展
dd=zeros(1,8);
for i=1:8;
dd(i)=round((8-1)*l(i)-.5);
end
t=zeros(1,8);
t(dd(1))=dot(1);
for i=2:8;
cc=dd(i);
if dd(i-1)==cc
t(cc)=t(cc)+dot(i);
else
t(cc)=dot(i);
end
end
tt=zeros(1,8);
tt=t./sum;
%t(5)=dot(1)/sum;
%t(6)=dot(2)/sum;
%t(7)=1-t(1)-t(5);
a=double(a);
for i=1:256;
for j=1:256;
%d=(a1(i,j)/32)+0.5;
d=b(i,j);
c(i,j)=(dd(d)-d)*32+a(i,j); %+(t(d)-a(i,j))*32;
%if a(i,j)==1;
% a(i,j)=1;
%elseif a(i,j)==2;
%a(i,j)=2;
%else
%a(i,j)=7;
end
end
c=double(c);
c=mat2gray(c);
subplot(2,3,3);
imshow(c);
title('均衡化后图象');
subplot(2,3,6);
bar(tt,.01);
title('均衡化直方图');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -