数字图像处理作业(第三次)直方图处理
计143 吴彦博 143063
2
数字图像处理作业(第三次)直方图处理
第一题第二题()
1. 问题:
1)编写函数Y=MyHisteq(X), 对灰度图象X进行直方图均衡化,得到均衡化后的图像Y,假设X的数据类型为uint8。
2)利用自己编写的直方图均衡化函数,,。
2.程序:
(1) 函数程序:
function Y = MyHisteq(X)
%对灰度图象X进行直方图均衡化,得到均衡化后的图像Y
[m,n]=size(X);
A=zeros(1,256);
for k=0:255
A(k+1)=length(find(X==k))/(m*n);
end
S1=zeros(1,256);
for i=1:256
for j=1:i
计143 吴彦博 143063
3
S1(i)=A(j)+S1(i); %算Sk
end
end
S2=round(S1*256);
for i=1:256
B(i)=sum(A(find(S2==i)));
end
figure,bar(0:255,B,'b');
title('均衡化后的直方图');
xlabel('灰度'),ylabel('出现概率')
Y=X;
for i=0:255
Y(find(X==i))=S2(i+1);
end
end
主程序:
X=imread('Fig0316(1)(top_left).tif');
figure,imshow(X);
计143 吴彦博 143063
4
Y=MyHisteq(X);
figure,imshow(Y);
3. 实验结果:
计143 吴彦博 143063
5
第三题()
1. 问题:
编写程序,,。
2.程序:
X=imread('Fig0327(a)(tungsten_original).tif');
figure,imshow(X);
计143 吴彦博 143063
6
Y=histeq(X);
figure,imshow(Y);
E=;k0=;k1=;k2=;
[m,n]=size(X);
X1=X;
Mg=sum(X1(:))/(m*n);
Vg=sum(sum((X1-Mg).^2))/(m*n);
for i=2:m-1
for j=2:n-1
X2=X1(i-1:i+1,j-1:j+1);
Ms=sum(X2(:))/9;
Vs=sum(sum((X2-Ms).^2))/9;
if(Ms<=k0*Mg&&k1*Vg<=Vs&&Vs<=k2*Vg)
数字图像处理作业(第三次)直方图处理 来自淘豆网m.daumloan.com转载请标明出处.