7。 Matlab 常用图像处理函数简介 Imshow()——显示图像; Image()——显示图像对象;
Imwrite()——以指定的名称将图像写入文件中并保存; Imread()——从图像文件中读取图像; Plot()——绘制二维平面图; Figure()——创建图形窗口;
Subplot()——分区绘图; Xlabel()/ylabel()/zlabel()——添加坐标轴标注; Set()——设置图像属性;
Axis()——设置坐标轴; Title()——添加图名; Hold()——图形保持;
Pie()/stairs()/hist()——绘制圆饼图/阶梯图/直方图; Hsv2rgb()/rgb2hsv——实现 HSV 和 RGB 空间之间的转换; Im2double()——将图像矩阵转换为双精度类型; Isrgb()——判断是否为真彩色 RGB 图像;
3 彩色图像处理的理论基础
3。1 图像
数字图像是许多像素的集合,它的基本组成单位是像素,像素的英文名称是 Pixel。 在计算机中,通过矩阵实现图像的存储,灰度图像和彩色图像都可以用二维数组来表示, 但是这两个数组中的数据所代表的意义不同。在表示灰色图像的二维数组中,每个元素值 代表像素的灰度值。彩色图像又可以分为真彩色图像和伪彩色图像,在存储伪彩色图像的 二维数组中,每个元素记录的是对应位置像素的颜色索引。要用二维矩阵记录伪彩色图像, 还需要一个颜色表。颜色表也叫颜色查找表,表中的元素记录了图像像素数据的颜色索引 值,和每个索引值代表的颜色的每个分量的大小。而在表示真彩色图像的二维数组中,则 不需要这个颜色表。每个像素的值记录的就是 R,G,B 三个分量的值,所以每个像素占 3 个 字节[2]。
通常用一个字节的长度来存储灰度图像的值,所以灰度值的取值范围为 0~255。在某些 特殊的领域,例如医院的 CT 图像,则需要更高的灰度级。彩色可以用多种方法表示,例 如 RGB 三基色模型(Red——红,Green——绿,Blue——蓝),CMY 三基色(Cyan—— 青,Magenta——洋红,Yellow——黄),IHS 模型(Hue——色调,Saturation——饱和 度,Intensity——强度)[2]。在实际的应用中,每种模型都有各自的适用领域,有时还需 要将图像在这三种模型之间进行转换。论文网
当图像在不需要使用的时候,图像一般是存储在计算机的外存储设备上的,例如硬盘。 图像在这些设备中是以字符的形式存储,这和计算机中的整型数据、浮点型数据是没有区 别的。只有当需要使用它时,图像才会被调入内存,然后计算机对这些数据进行处理,最 后在显示器上显示出来。
3。2 颜色空间
3。2。1 RGB 彩色空间
RGB 分别表示红,绿,蓝三基色。之所以称这三个颜色为三基色是因为它们可以合成 任意颜色的光,同时任意颜色的光经过分解后也可以得到这三种颜色。三基色的名称由此 而得来[2]。
任意的彩色光 L 的分解公式如下所示:
其中: r(R)表示红色所占的比例; g(G)表示绿色所占的比例; b(B)表示蓝色所占的比例。
当 RGB 三基色按照不同的比例进行合成时,可以得到千变万化的颜色。
3。2。2 CMY 彩色空间和 CMYK 彩色空间
CMY 分别表示青,洋红,黄三种颜色。CMYK 分别表示青,洋红,黄和真正的黑色。按 照颜色光的形式可以将自然界的物体划分成两大类,分别是发光物体(也被称为有源物体) 和不发光物体(也被称为无源物体)[2]。典型的发光物体有彩色电视显示器,计算机显示 器;典型的不发光物体有纸张等。CMY 是油墨和颜料的三基色,所以 CMY 颜色空间一般用 于彩色印刷领域。虽然理论上黑色可以由等量的青,洋红,黄合成,但是纯黑是很难得到 的,所以在彩色打印机和彩色印刷机中备有专门的黑色油墨。炭黑墨水的英文为 black ink, CMYK 彩色空间由此而得来。