图像处理与动画制作
图像处理与动画制作可以看作绘图功能的进一步拓展,也是MATLAB 的一个具体应用领域。在进行MATLAB 基础学习时,了解一些图像处理与动画制作方法,既有利于MATLAB基础知识的掌握,又有利于开阔思路,为专业应用打下基础。
一、图像处理
MATLAB 基本系统提供了几个用于简单图像处理的函数,利用这些函数可以进行图像的读/写和显示。此外,MATLAB 还有一个功能更强的图像处理工具箱,可以对图像进行更专业的 处理。
1.图像的读/写
要在MATLAB 中使用不同格式的图像,需要用imread 函数读取该图像,即将图像文件读入MATLAB 工作空间。imread 函数的调用格式与功能如下。
(1)x=imread(filename,fmt): 其中filename是图像的文件名,fmt 指定图像文件的格式。
- MATLAB 支持多种图像文件格式,如bmp、jpg、jpeg、tif等。省略fmt 参数时,通过文件的内容自动判断其格式。
- 矩阵x是从图像文件中读出并转化成MATLAB 可识别的图像格式的数据。
- 在 MATLAB 中,图像通常由数据矩阵和色彩矩阵组成。如果该图像是灰度图像,那么x是二维的。如果图像是真彩色的,那么x是三维矩阵,第三维存储颜色数据。
(2)[x,map]=imread(filename,fmt):把经过转化的图像数据保存到矩阵x中,同时把相关的色图数据读到矩阵map 中。
在MATLAB中 ,imwrite 函数用于将图像数据和色图数据一起写入图像文件,其调用格式 如下:
imwrite(x,filename,fmt)
该函数把图像数据x输出到文件filename, 图像的类型由fmt 指定。
2.图像的显示
MATLAB用image函数显示图像,其调用格式如下:
image(x)
其中x为图形的数据矩阵。
与image函数类似的函数是imagesc, 它的调用格式和功能都与image 函数一样,只是图像着色方式不同。
为了保证图像的显示效果,一般还应使用colormap 函数设置图像色图。
设有图像文件logo.jpg,在图形窗口显示该图像,程序如下: