实验1 图像直方图分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验1 图像直方图分析

模式识别与智能系统王衍平 2010043003

1 实验目的

本试验通过MATLAB编程,获取一幅RGB图像的灰度直方图信息,并根据灰度直方图获得图像中的像素亮度的分布情况。

2 实验步骤

(1)使用imread函数读取一幅RGB图像,并输出显示该图像;

(2)使用size函数获取该图像的大小,然后分离三个颜色通道;

(3)分别输出显示R、G、B三个颜色通道的图像;

(4)分别绘制R、G、B三个颜色通道的灰度直方图;

(5)绘制RGB三个颜色通道的灰度直方图于一幅图像中。

3 MATLAB程序代码

I=imread('D:\数字图像处理实验\001.bmp');

% 若果不是RGB图像,报错

if(size(I,3)~=3)

error('rgbhist:numberOfSamples','Input image must be RGB.')

end

figure(1),imshow(I);

title('原RGB图像');

S=size(I); % Size of array file.

H=reshape(I,S(1)*S(2),S(3)); % 将每个颜色通道变为一列

H=double(H); % Convert to double precision.

nHist=2^8-1;

figure(2),imshow(I(:,:,1)); % 显示R通道上的图像

title('R通道上的图像');

figure(3),imshow(I(:,:,2)); % 显示G通道上的图像

title('G通道上的图像');

figure(4),imshow(I(:,:,3)); % 显示B通道上的图像

title('B通道上的图像');

figure(5),imhist(I(:,:,1),nHist); % 绘制图像R通道上的灰度直方图

title('R通道上的灰度直方图');

figure(6),imhist(I(:,:,2),nHist); % 绘制图像R通道上的灰度直方图

title('G通道上的灰度直方图');

figure(7),imhist(I(:,:,3),nHist); % 绘制图像R通道上的灰度直方图

title('B通道上的灰度直方图');

figure(8)

[N,X]=hist(H,[0:1:255]); % 绘制RGB图像的R、G、B通道上的灰度直方图

bar(X,N(:,[3 2 1]));

xlim([0 255]) % X limits.

hold on

plot(X,N(:,[3 2 1])); % 上边界轮廓

title('RGB图像的R、G、B通道上的灰度直方图');

hold off

4 实验结果与分析

通过观察R、G、B三个颜色通道的灰度直方图可知,原图像的像素灰度值大部分集中在亮区,一般在摄影中曝光太弱将会导致这种结果。

相关文档
最新文档