matlab中,对图像进行处理,需要使用imread()函数读取一副图像,该函数将图片以矩阵的形式存储在计算机中。这里要讨论的是图像在内存中的存储方式。
对于灰度图像而言,由于每个像素点只有一个灰度值,所以非常直观。图片矩阵的索引完全就是像素在图片中的空间位置。
对于彩色图像而言,由于每个像素点有RGB三个分量,所以图片矩阵的索引和像素在图片中的空间位置不具有灰度图像的性质。但是,imread()函数为像素的RGB三个分量专门增加了一个维度,以一个概念上的三维矩阵来存储。这样一来,像素在图片中的空间位置i和图片矩阵中像素的存储位置j又具有了一个函数关系:i = j(,,3)。
附提取各个分量的代码:http://www.cnblogs.com/tony1224/archive/2012/04/02/2430482.html
附cat函数重新合成RGB矩阵:http://www.cnblogs.com/tony1224/archive/2012/04/02/2430254.html