武汉理工大学 基础强化训练MATLAB图像处理

武汉理工大学《基础强化训练》报告

1 数据采集

1.1图像的选取

从互联网上下载一张图片,如图1,像素为503*600,满足像素要求,但由于图像为彩图。为满足要求,在下面的过程中会将彩图转换为灰度图。

图1 原彩色图

3

武汉理工大学《基础强化训练》报告

1.2 MATLAB读取方法

1.2.1 编辑M文件

MATLAB是解释型语言,就是说MATLAB命令行中敲入的命令在当前MATLAB进程中被解释运行。为方便起见,有两种方法可以使MATLAB的力量得到扩展——脚本和函数。这两种方法都用像emacs一样的文本编辑器中编写的m文件(因为扩展名是.m所以这样命名,m文件还称点m文件)。m文件的好处在于它可以保存命令,还可以轻易地修改命令而无需重新敲入整个命令行。

新建m文件的方法为File->New->Blank M-File,如图2所示。

图2 新建m文件

1.2.2 图像的读取与灰度图的转换

1.图像的读取:

利用函数imread()可完成图形图像文件的读取,语法: a=imread(filename,fmt) [X,map]=imread(filename,fmt) [...]=imread(filename)

[...]=imread(filename,idx) (只对TIF格式的文件) [...]=imread(filename,ref) (只对HDF格式的文件)

通常,读取的大多数图像均为8bit,当这些图像加载到内存中时,Matlab就将其存放在类uint8中。此为Matlab还支持16bit的PNG和TIF图像,当读

4

武汉理工大学《基础强化训练》报告

取这类文件时,Matlab就将其存贮在uint16中。对于索引图像,即使图像阵列的本身为类uint8或类uint16,imread函数仍将颜色映象表读取并存贮到一个双精度的浮点类型的阵列中。

2.灰度图的转换:

为了转换为灰度图,利用MATLAB中的rgb2gray()命令实现RGB图像到灰度图像的转化。转化后在使用命令isgray()判断图像是否变为灰度图,如果是灰度图将返回为1,不是将返回0。灰度图转换成功后,将转化后的灰度图读取出来。

相关的MATLAB命令为:

a=imread('D:\\cover.jpg'); %读取图像路径 figure, subplot(1,2,1)

imshow(a); %显示图像 title('原彩色图像')

A=rgb2gray(a); %转化成灰度图 isgray(A) subplot(1,2,2) imshow(A);

title('转化成的灰度图')

键入isgray(A)后,显示的返回值ans =1,证明转化成功。

原彩图读取和灰度图转化图 如图3所示。

5

武汉理工大学《基础强化训练》报告

图3 原彩图读取和灰度图转化图

1.2.3 灰度值的获取

直接在MATLAB命令行中输入灰度图像所存储的文件名“A”记得获得其灰度值,部分值如图4所示。

图4 灰度矩阵截图

6

武汉理工大学《基础强化训练》报告

2 数据统计处理

2.1 均值计算 2.1.1 原理及计算公式

用mean(A)(默认dim=1)就会求每一列的均值,结果如图5所示。用mean2(A)求出所有像素的均值,结果如图6所示。

图5 每一列的均值图

7

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4