最近学习冈萨雷斯的数字图像处理(MATLAB),随手写个学习笔记,以备以后复习~
1、读取图像
imread('filename'); %filename是一个含有图像文件全名的字符串(包含任何可用扩展名)
插一句:filename也可以是一个包含相对路径或者是绝对路径的字符串,比如:
>> f=imread('.\myimages\pic.jpg');
表示从当前的工作目录中名为myimages的子目录中读取图像文件pic.jpg。
函数size可给出一幅图像的行数和列数:
使用[M,N] = size(f); 该语法将返回图像的行数M和列数N,该函数很有用。
2、显示图像
在MATLAB桌面上一把使用函数imshow来显示,该函数的基本语法为:
imshow(f , G)
f是一个图像数组,也可以是一个字符串;G是显示该图像的灰度级数,如省略,则默认的灰度级数是256。
imshow(f , [low high])
会将所有小于或者等于low的值都显示为黑色,所有大于或者等于high的值都显示为白色。
inshow(f , [ ]);
可以将变量low设置为数组f的最小值,将变量high设置为数组f的最大值。这一形式在显示一幅动态范围较小的图像或者是基友正值又有负值的图像时非常有用。
Ps:函数imshow命令行结尾处的分号对结果无影响。(一般情况下命令行中分号的作用是取消一个命令行的输出)
figure函数
figure函数用于保持第一幅图像并同时显示第二幅图像。比如:
注意:没想多显示一幅图像,就要在显示语句之前加一个figure。
3、保存图像
3.1 imwrite函数
语法: imwrite(f , 'filename');
f是一个图像数组,filename中包含的字符串必须是一个可以识别的文件格式的扩展名。
若filename中不包含路径信息,则imwrite会将文件保存到当前的工作目录中。
3.2 imfinfo函数
使用imfinfo函数可以将图像的详细信息存入结构变量中,以便于后续的计算。例如:
存入图像信息的K是一个结构体变量,可以用点号运算符访问其结构体成员。
在命令行直接键入:imfinfo filename 结果是在屏幕上显示出信息。