Matlab 图像处理应用举例1

读入一幅图像,判断其是否为灰度图像,如果不是灰度图像,将其转化为灰度图像。

完成灰度图像的直方图计算、直方图归一化、直方图均衡化等操作。

I=imread('pout.tif');%读取图像
imshow(I) %显示图像
[width,height,z]=size(I);%判断一幅图像是否为灰度图像
if(z>1)
    I=rgb2gray(I);
end
subplot(2,3,1)
imshow(I)%显示灰度图像
title('\itOriginal gray image')
subplot(2,3,2)
imhist(I)%显示灰度分布
title('\itHistogram Distribution')
[M,N]=size(I);%归一化灰度分布
[counts,x]=imhist(I,32);
counts=counts/M/N;

subplot(2,3,3)
stem(x,counts)
title('\itNormalized Histogram')
I2=histeq(I);%直方图均衡化

subplot(2,3,4)
imshow(I2);
title('\itHistogram equalized image')

subplot(2,3,5)
imhist(I2)
title('\itHistogram Equalization')

[P,Q]=size(I2);%均衡分布归一化
[Cp,Cq]=imhist(I2,32);
Cp=Cp/P/Q;

subplot(2,3,6)
stem(Cq,Cp)
title('\itNormalized Histogram Equalization')

posted @ 2018-01-17 14:46  Xwell  阅读(297)  评论(0编辑  收藏  举报