(2)真彩色图像
真彩色图像一般是只24bit色彩的图像,其中红(R)绿(G)蓝(B)通道分别占8bit,它总共具有2^24=16777216种颜色。真彩色图像不根据windows的颜色映射表来判定颜色,而是根据像素的颜色存储在每个像素点上的红绿蓝的值的组合来确定的。
(3)索引图像
索引图像是一种把像素的值直接作为RGB调色板下标的图像。在MATLAB中索引图像可把像素的值直接映射为调色板数值。索引图像包括一个数据矩阵A,一个颜色映射矩阵B,其中B是一个包含3列和若干行的数据阵列。B矩阵的每一行分别表示红色、绿色和蓝色的颜色值。像素颜色由数据矩阵A作为索引指向矩阵B进行索引。例如,值1指向矩阵B中的第一行,2指向第二行,依此类推。
(4)灰度图像
灰度图像就是将真彩色图像中的红绿蓝三种基色通过不同的灰度阶级来显示的图像。MATLAB中,一幅灰度图像是一个数据矩阵,其中矩阵中的数据均代表了在一定范围内的颜色灰度值,其中的元素可以是双精度的浮点数类型,也可以是8位或16位无符号的整数类型。
图2 图像类型间的转换
3图像的预处理及边缘检测
3.1图像预处理
正如我们所知道的,图片在获取的过程中会产生许多的缺陷,这些是由于拍摄环境的外在因素或者拍摄时的抖动所引起的,无可避免。所以在进行数字图像处理之前,都会对图像进行一个预处理过程,包括图像增强、复原、灰度转换、图像平滑等过程。
3.1.1 真彩色图像转换为灰度图像
在进行图像处理的时候,虽然可以通过真彩色图像分割来对感兴趣的部分进行处理。但是毕竟彩色图像包含着大量的颜色信息,不仅存储量大而且处理速度也受影响。在图像处理的许多应用方面,并不要求使用图像的三个不同颜色分量(R,G,B),因此常将彩色图转化为灰度图像(常称为彩色图像灰度化),以便加快处理速度。在线识别系统由于对实时性的要求较高,而且工件的颜色数量较少,因此采用对其灰度图像进行处。
在此课题中,由于基础的图像是真彩色图像,而进行裂纹检测的过程是无需对红绿蓝三色进行处理的,所以在进行后续步骤之前,我们先对图像进行了灰度转换。使用的函数是MATLAB中的rgb2gray命令。
图像灰度化在MATLAB中采用的原理是点运算原理,对于一幅输入图像,经过点运算将产生一幅输出图像,后者的每个像素点的灰度值仅由相应输入像素点的值决定,同时,点运算不改变图像内的空间关系。在真彩色图像中,以R、G、B为轴建立空间直角坐标系,则RGB图的每个象素的颜色可以用该三文空间的一个点来表示,而Gray图的每个象素的颜色可以用直线R=G=B上的一个点来表示。于是rgb2gray这条函数的本质就是寻找一个三文空间到一文空间的映射,即过RGB空间的一个点向直线R=G=B做垂线)。
转换公式:Gray=0.29900R+0.58700G+0.11400B (3.1)
图3 真彩色图像原图
图4 真彩色图像(如图3)灰度化
3.1.2 图像求反
对图像求反就是将原来的灰度值翻转,顾名思义就是将黑白颠倒,使原本的黑色变为白色,使原本的白色变为黑色。
普通的黑白底片和照片就是这样的关系。具体的变换就是将图像中每个像素的灰度值按照变换曲线进行映射。图像求反采用imcomplement命令,原理是:
L=255-i (3.2)
(L:当前像素点的灰度值;i:原图像像素点的灰度值) MATLAB图像处理的钢材表面裂纹检测系统设计(6):http://www.751com.cn/zidonghua/lunwen_3272.html