实验一 图像打开、保存与显示
一、实验目的:
掌握数字图像的基本类型及其表示。熟悉Matlab软件环境,了解Matlab中对图像数据的读入、显示和输出等操作,实现图像文件的打开、显示与保存功能。
二、实验环境:
计算机、WindowsXP操作系统,Matlab7.0
三、实验内容:
实验前准备工作:
所使用的图像文件都保存在Matlab安装目录下的\toolbox\images\imdemos子目录下。将实验中需要使用的图像文件,事先拷贝到Matlab安装目录下的\work子目录下。(Matlab默认处理当前工作目录下的图像文件)
1、运用Matlab图像处理工具箱中的imread函数分别读入灰度图像pout.tif、二值图像blobs.png、索引图像trees.tif和RGB图像peppers.png,观察相应的图像矩阵,并运用imshow函数显示相应图像。
代码实现:
>> I_huidu=imread('pout.tif');
>> figure(1),imshow(I_huidu);
>> I_erzhi=imread('blobs.png');
>> figure(2),imshow(I_erzhi);
>> I_erzhi2=imread('circles.png');
>> figure(3),imshow(I_erzhi2);
>>[I_suoyin,colormap]=imread('trees.tif');
>> figure(4),imshow(I_suoyin);
>> imshow(I_suoyin,colormap);
2、对一个RGB彩色图像peppers.png,分别抽取其R、G、B三个分量层,并显示各层图像。
代码实现:
>>I_reb=imread('peppers.png');
>>R=I_reb(:,:,1);
>>figure(5),imshow(R);
>>subplot(2,2,1),imshow(I_reb);
>>subplot(2,2,2),imshow(R);
>> G=I_reb(:,:,2);
>> B=I_reb(:,:,3);
>> subplot(2,2,3),imshow(G);
>> subplot(2,2,4),imshow(B);
3、向灰度图像pout.tif中分别加入高斯噪声和椒盐噪声,显示并保存带有噪声的图像。
代码实现:
>>I=imread('pout.tif');
>>G=imnoise(I,'gaussian');
>>figure(6),subplot(1,3,1),imshow(I);
>>subplot(1,3,2),imshow(G);
>>J=imnoise(I,'salt & pepper');
>> J=imnoise(I,'salt &pepper',0.05);
>>subplot(1,3,3),imshow(J);
>> imwrite(G,'gpout.tif');
>> imwrite(J,'jpout.tif');
实验二 图像灰度直方图统计
一、实验目的:
理解并掌握灰度直方图的概念、计算灰度直方图的方法以及如何应用直方图均衡化来增强图像对比度。
二、实验环境:
计算机、WindowsXP操作系统,Matlab7.0
三、实验内容:
以灰度图像pout.tif为例,运用Matlab编程实现灰度直方图的统计以及直方图均衡化处理过程:
(1)计算并绘制原始图像的灰度直方图;
(2)根据离散累计分布