实验目的
l 掌握MATLAB中数字图像的存储,读取和显示
l 掌握MATLAB中的基本数据,图像类型,以及类型之间的互相转换
l 掌握数字图像数据的索引和赋值方法
l 熟悉并掌握基本的M函数编程知识
2.2实验原理
2.2.1MATLAB中数字图像的存储读取和显示
MATLAB常用二维矩阵来表示图像
读取图像通过函数imread来执行,语法为:
f=imread(‘filname’);
其中,filename参数表示输入的文件名,包括路径和文件名,路径可以是绝对路径,也可以是相对路径,函数返回值f是一个图像数组。MATLAB支持的图像类型有TIFF,JPEG,GIF,BMP,PNG和XWD等。
保存图像使用函数imwrite来执行,语法可以有以下几种:
imwrite(f,’filename’); %默认方式,文件格式由后缀名来指定
imwrite(f,’filename’,’tif’); %由第3个参数指定保存文件的格式
imwrite(f,’filename.jpg’jpg’,’quality’,q); %保存JPEG文件,指定JPEG的压缩质量
显示图像使用imshow来执行,基本语法为:
imshow(f,G);
其中,f是图像数组,G是该图像显示的灰度级数,默认灰度级数为256。另两种语法为:
imshow(f,[low,high]); %所有大于high的显示为白色,小于low的显示为黑色
imshow(f,[ ]); %low设置为最小值,high设置为最大值,其余值按比例拉伸
其他相关函数:
[m,n]=size(f); %函数size用来查询图像的行数和列数
whos f; %函数whos可以显示数组的附加信息
函数pixval经常用来交互式地显示单个像素地亮度值。该函数可以显示覆盖在图像上的光标。当光标随着鼠标在图像上移动时,光标所在位置的坐标和该点的亮度值会在该图形窗口的下方显示出来。处理彩色图像时,RGB分量的坐标也会显示出来。若按下鼠标左键不放,则pixval将显示光标初始位置和当前位置点的欧式距离。通常pixval函数和imshow函数联合使用。
通常imshow函数只能显示一幅图像,若要同时显示两幅图像,则使用语句figure,imshow。
函数imfinfo用来显示图像的相关信息,语法为:
imfinfo filename; %显示图像的相关信息