武汉理工大学《基础强化训练》报告
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