一、图像处理预备知识
1、图像处理(image processing)
用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。图像处理一般指数字图像处理。
在计算机中,按照颜色和灰度的多少可以将图像分为二值图像、灰度图像、索引图像和真彩色RGB图像四种基本类型。
2、图像处理常用方法
1)图像变换
为了用正交函数或正交矩阵表示图像而对原图像所作的二维线性可逆变换。一般称原始图像为空间域图像,称变换后的图像为转换域图像,转换域图像可反变换为空间域图像。
它可以分为四个部分:空域变换等维度算法,空域变换变维度算法,值域变换等维度算法和值域变换变维度算法。其中空域变换主要指图像在几何上的变换,而值域变换主要指图像在像素值上的变换。等维度变换是在相同的维度空间中,而变维度变换是在不同的维度空间中,例如二维到三维,灰度空间到彩色空间。
常用的有三种变换方法:傅里叶变换、沃尔什-阿达玛变换、离散卡夫纳-勒维变换。这里只讲傅里叶变换。
2)图像增强和复原
图像增强不增加图片信息,只对感兴趣的特征进行强调突出,增加辨别能力。根据人的主观评定,具有一定的人为畸变。一般通过空间域处理和频率域处理两种方法。
图像复原技术的主要目的是以预先确定的目标来改善因散焦、像物相对运动、成像器材的图固有缺陷和外部干扰导致退化的图像。
图像增强和复原的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。图像增强主要是一个主观过程,而图像复原则大部分是一个客观的过程。
3)图像压缩
图像压缩是一种减少描绘一幅图像所需数据量的技术和科学,它是数字图像处理领域中最有用和商业上最成功的技术之一。图像压缩既可以是无损压缩,没有信息损失;也可以是有损压缩,不能通过解压恢复原图,牺牲准确度换来压缩能力的增加。
4)图像分割
图像分割是数字图像处理中的关键技术之一。分割将图像细分为构成它的子区域或物体。细分程度取决于要解决的问题。即将图像中有意义的特征部分提取出来,其有意义的特征有图像中的边缘、区域等,这是进一步进行图像识别、分析和理解的基础。
5)图像描述
图像描述是图像识别和理解的必要前提。作为最简单的二值图像可采用其几何特性描述物体的特性,一般图像的描述方法采用二维形状描述,它有边界描述和区域描述两类方法。
6)图像识别
图像经过某些预处理(增强、复原、压缩)后,进行图像分割和特征提取,从而进行判决分类。
二、MATLAB简介
MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。
三、MATLAB图像处理代码
1、图像读取及保存
MATLAB的基本数据单位是矩阵,一幅图像可定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,而在任何一对空间坐标(x,y)处的幅值f称为图像在该点处的强度或灰度。当x,y和灰度值f是有限的离散数值时,我们称该图像为数字图像。在MATLAB中,数字图像就是一个个矩阵。
1)图像读取
函数:imread(‘图像文件’) :读入指定的图像文件到内存
举例:
InImg=imread('d:\photo\yng.jpg'); %读取D盘photo文件夹中命名为yng的.jpg格式的图像存储到InImg矩阵中
2)图像保存
函数:imwrite(OutImg, ‘图像文件’):输出内存中图像数据到文件
举例:
imwrite(OutImg,'d:\photo\yn_ln.jpg'); %将OutImg矩阵表示的图像存储到电脑D盘photo文件夹中,并命名为yn_ln的.jpg格式的图像。
3)图像显示
函数:imshow(ImgData) :将图像文件显示到屏幕
subplot(行数,列数,区域索引);
举例:
subplot(1,1,1);imshow(InImg); %将InImg图像文件显示到屏幕上指定位置
4)图像转换
I=rgb2gray(rgbImg): 将彩色图像转换为灰度图像,rgbImg为彩色图像
bw=im2bw(Img,level): 将灰度图像转换为二值图像,Img为灰度图像,level为0~1的灰度级阈值;