数字图像处理实验一图像的基本操作和基本统计指标计算实验报告.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一图像的基本操作和基本统计指标计算
一、实验目的
熟悉MATLAB图像处理工具箱,在掌握MATLAB基本操作的基础上,本课程主要依靠图像处理工具箱验证和设计图像处理算法。对于初学者来说,勤学多练、熟悉MATLAB图像处理工具箱也是学号本课程的必经之路。
了解计算图像的统计指标的方法及其在图像处理中的意义。
了解图像的几何操作,如改变图像大小、剪切、旋转等。
二、实验主要仪器设备
(1)台式计算机或笔记本电脑
(2)MATLAB(安装了图像处理工具箱,即Image Processing Toolbox(IPT))
(3)典型的灰度、彩色图像文件
三、实验原理
(1)将一幅图像视为一个二维矩阵。
(2)利用MATLAB图像处理工具箱读、写和显示图像文件。
①调用imread函数将图像文件读入图像数组(矩阵)。例如“I=imread(‘tire.tif’);”。其基本格式为:“A=imread(‘filename.fmt’)”,其中,A为二维矩阵,filename.为文件名,fmt 为图像文件格式的扩展名。
②调用imwrite函数将图像矩阵写入图像文件。例如“imwrite(A,’test_image.jpg’);”。其基本格式为“imwrite(a,filename.fmt)”。
③调用imshow函数显示图像。例如“imshow(‘tire.tif’);”。其基本格式为:I为图像矩阵,N为显示的灰度级数,默认时为256。
(3)计算图像有关的统计参数。
四、实验内容
(1)利用MATLAB图像处理工具箱和Photoshop读、写和显示图像文件。
(2)利用MATLAB计算图像有关的统计参数。
五、实验步骤
(1)利用“读图像文件I/O”函数读入图像Italy.jpg。
(2)利用“读图像文件I/O”的iminfo函数了解图像文件的基本信息:主要包括Filename(文件名)、FileModDate(文件修改时间)、Filesize(文件尺寸)、Format(文件格式)、FormatVersion (格式版本)、Width(图像宽度)、Height(图像高度)、BitDepth(每个像素的位深度)、ColorType (彩色类型)、CodingMethod(编码方法)等。
(3)利用“像素和统计处理”函数计算读入图像的二维相关系数(corr2函数)、确定像素颜色值(impixel函数)、确定像素的平均值(mean2函数)、显示像素信息(pixval函数)、计算像素的标准偏移(std2函数)等。
要求:参照例题2.1,对图像J加均值为0、方差为0.01的高斯白噪声形成有噪图像J1,即“J1=imnoise(J,’gaussian’,0,0.01);”,求J1的像素总个数、图像灰度的平均值、标准差、J和J1的互协方差和相关系数、J和K的互协方差和相关系数。
如果将方差加至0.1,重新计算上述统计参数。
(4)改变图像大小(imresize函数),旋转图像(imrotate函数)、对图像进行裁剪(imcrop 函数)等,再对操作后的图像进行统计。
要求:参照例2.1,将图像I分别放大和缩小1.5倍、旋转30°,再对操作后的图像进行统计。
(5)将上述不同操作后的图像用“读图像文件I/O”函数分别写入各自的图像文件。六、实验程序
I=imread('Italy.jpg');
subplot(3,3,1);
imshow(I);
A=imfinfo('Italy.jpg');
J=rgb2gray(I);
subplot(3,3,2);
imshow(J);
J1=imnoise(J,'gaussian',0,0.01);
subplot(3,3,3);
imshow(J1);
B=numel(J1);
ave=mean2(J1);
sd=std2(J1);
J2=im2double(J);
J3=im2double(J1);
Cfg=cov(J2,J3);
corrgfg=corr2(J2,J3);
s=size(J);
all_white=255*ones(s(1),s(2));
all_white_uint8=uint8(all_white);
K=imsubtract(all_white_uint8,J);
subplot(3,3,4);
imshow(K);
K1=im2double(K);
Cfg2=cov(J2,K1);
corrgfg2=corr2(J2,K1);
J4=imresize(I,0.2);
subplot(3,3,5);
imshow(J4);
J5=imrotate(I,30);
subplot(3,3,6);
imshow(J5);
RECT=[0 200 300 250]
J6=imcrop(I,RECT);
subplot(3,3,7);
imshow(J6);
imwrite(J1,'J1.rpg');
imwrite(J,'J.rpg');
imwrite(K,'K.rpg');
imwrite(J4,'J4.rpg');
imwrite(J5,'J5.rpg');
imwrite(J6,'J6.rpg');
七、实验结果
八、思考
(1)说明图像的统计特征对图像处理的意义。
图像的种类很多,不同图像的用途和处理方法也不相同。图像处理算法往往针对一定特征(如颜色、纹理、形状、空间关系等)的图像,因此对图像特征的分析至关重要。图像是典型的二维随机信号,其统计特征对于进一步处理和分析是十分重要的。图像的统计特征是图像的一类基本特征。一些算法也是基于图像的统计指标设计的。图像是直观的,但处理的过程常常是抽象的。通过统计分析,可以得到某个图像区别于其他图像的许多参数指标。
(2)比较不同图像的统计特征的差别,并分析原因。
不同图像的尺寸、大小、颜色、纹理、形状等不同。
(3)讨论施加不同方差的噪声,对图像统计参数产生的影响。
施加不同方差的噪声,会改变图像的灰度平均值,协方差矩阵,灰度标准差。
(4)图像旋转后,图像的尺寸是否发生变化?如果数据增加,多余的数据是怎样补充的?对图像的统计参数会产生怎样的影响?
由实验结果图6可以看出,图像旋转后,尺寸也会变化,多余数据用黑色补充,图像的大小
等发生变化。