c语言bmp图像YUV转化成RGB,RGB与YUV图像格式的相互转换
RGB与YUV图像格式的相互转换
(参考上的《RGB与YUV图像视频格式的相互转换》文章,做了些修改)
RGB介绍:在记录计算机图像时,最常见的是采用RGB(红、绿,蓝)颜色分量来保存颜色信息。
例如:非压缩的24位的BMP图像就采用RGB空间来保存图像。一个像素24位,每8位保存一种颜色强度(0-255),例如红色保存为。还有16位的RGB格式,如。
YUV介绍:YUV是被欧洲电视系统所采用的一种颜色编码方法,我国广播电视也普遍采用这类方法。其中“Y”表示明亮度(或Luma),也就是灰阶值;而“U”和“V”表示的则是色度(或)。彩色电视采用YUV空间正是为了用亮度信号Y解决彩色电视机与黑白电视机的兼容问题,使黑白电视机也能接收彩色电视信号。
RGB转YUV:
YUV以UYVY格式标准来说明,4:2:2格式UYVY每像素占16位,UYVY字节顺序如下图:
(UYVY字节顺序)
其中第一个字节为U0,每二个字节为Y0,依次排列如下:[U0,Y0,V0,Y1] [U1,Y2,V1,Y3] [U2,Y4,V2,Y5] ……经过仔细分析,我们要实现RGB转YUV格式的话,一个像素的RGB占用三个节,而UYVY平