opencv 提供了cvtColor()函数,用于在图像中不同的色彩空间进行转换,用于后续处理。
void cvtColor( InputArray src, OutputArray dst, int code );
1. 图像色彩模式
a. 位图模式
位图模式是图像中最基本的格式,图像只有黑色和白色像素,是色彩模式中占有空间最小的,同样也叫做黑白图,它包含的信息量最少,无法包含图像中的细节,相当于只有0或者1. 一副彩色图如果要转换成黑白模式,则一般不能直接转换,需要首先将图像转换成灰度模式,再用
b. 灰度模式 CV_RGB2GRAY
灰度模式即使用单一色调来表示图像,与位图模式不同,不像位图只有0和1,使用256级的灰度来表示图像,一个像素相当于占用8为一个字节,每个像素值使用0到255的亮度值代表,其中0为黑色,255为白色,相当于从黑->灰->白的过度,通常我们所说的黑白照片就是这种模式,与位图模式相比,能表现出一定的细节,占用空间也比位图模式较大.
c. RGB模式
RGB模式为我们经常见到的,被称为真色彩。RGB模式的图像有3个颜色通道,分布为红(Red),绿(Green)和蓝(Bule),每个都占用8位一个字节来表示颜色信息,这样每个颜色的取值范围为0~255,那么就三种颜色就可以有多种组合,
当三种基色的值相等是,表现出为灰色,三种颜色都为255即为白色,三种颜色都为0,即为黑色.
RGB模式的图像占用空间要比位图,灰度图都要大ÿ