RGB565,RGB555,RGB888,BMP24 之间的相互转换?

时间:2022-09-26 15:24:24
这些颜色值是怎么转换的?它们之间的区别是什么?怎么查看一幅图片是什么格式的,属于哪一个RGB类型的。 
谢谢了!!

6 个解决方案

#1


正常的RGB24是由24位即3个字节来描述一个像素,R、G、B各8位。而实际使用中为了减少图像数据的尺寸,如视频领域,对R、G、B所使用的位数进行的缩减,如你所说的RGB565和RGB555。
RGB565 就是R-5bit,G-6bit,B-5bit
RGB555 就是R-5bit,G-5bit,B-5bit
RGB888 就是R-8bit,G-8bit,B-8bit  ;其实这就是RGB24

至于BMP那是RGB的像素数据基础上增加位图头数据而成的文件格式。

知道以上规律,写转换算法很简单。


#2


这个说起来就长了,前段时间做过位图转换,建议楼主看看位图结构,这些问题就基本能解决了,

#3


up

#4


Matlab下RGB转灰度的为 GRAY = 0.2989 * R + 0.5870 * G + 0.1140 * B

#5


1楼说得很详细了
另外就是按2楼说的 把位图结构搞清楚就可以了

#6


同意5楼观点

#1


正常的RGB24是由24位即3个字节来描述一个像素,R、G、B各8位。而实际使用中为了减少图像数据的尺寸,如视频领域,对R、G、B所使用的位数进行的缩减,如你所说的RGB565和RGB555。
RGB565 就是R-5bit,G-6bit,B-5bit
RGB555 就是R-5bit,G-5bit,B-5bit
RGB888 就是R-8bit,G-8bit,B-8bit  ;其实这就是RGB24

至于BMP那是RGB的像素数据基础上增加位图头数据而成的文件格式。

知道以上规律,写转换算法很简单。


#2


这个说起来就长了,前段时间做过位图转换,建议楼主看看位图结构,这些问题就基本能解决了,

#3


up

#4


Matlab下RGB转灰度的为 GRAY = 0.2989 * R + 0.5870 * G + 0.1140 * B

#5


1楼说得很详细了
另外就是按2楼说的 把位图结构搞清楚就可以了

#6


同意5楼观点