图像的表示
日常开发中,我们可以看到各种各样的美丽图像,但是在计算机看来,这幅图像只是一堆亮度各异的点。例如:一副尺寸为M×N的图像可以用一个M×N的矩阵来表示,矩阵元素的值表示这个位置上的像素的亮度,一般来说像素值越大表示该点越亮。
一般来说,灰度图用2维矩阵表示:
灰度图像的存储示意图
lij 表示第i行j列的像素值
彩色(多通道)图像用3维矩阵表示,目前大部分设备都是用无符号8位整数(类型为 CV_8U)表示像素亮度。
多通道图像,比如RGB图像,则每个像素用三个字节表示,RGB图像的通道顺序为BGR。存储示意图如下:
图像的显示
构建Mat对象,创建图像
/*
创建一个行数为320,列数为480,图像元素是8位无符号整数类型,且有三个通道。图像的初始值为(255,0,0)
图像的实际尺寸为宽480 高320
*/
cvImage = Mat(320, 480, CV_8UC3,Scalar(255, 0, 0));
UIImage * tmpImage = MatToUIImag