如何将24位rgb转换为8位rgb [英] How to convert a 24bit rgb to 8 bit rgb
本文介绍了如何将24位rgb转换为8位rgb的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
你好朋友,
你可以帮我把24位RGB图像转换成8位RGB图像......
和16位灰度到24位RGB ..
谢谢,
PS:我是图像编程的新手和学习新方面
我尝试过:
i尝试过转移位如下...
r = r>> 1;
g = g>> 2;
b = b>> 1;
解决方案
如此处所述colors - 如何将24位RGB转换为8位RGB - 堆栈溢出 [ ^ ]每像素8位格式通常用作调色板索引。
但是,假设你有以下格式:
位数 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
b7 b6 b5 b4 b3 b2 b1 b0 g7 g6 g5 g4 g3 g2 g1 g0 r7 r6 r5 r4 r3 r2 r1 r0
位数 7 6 5 < span class =code-digit> 4 3 2 1 0
B1 B0 G2 G1 G0 R2 R1 R0
然后
B1 = b7,B0 = b6
G2 = g7,G1 = g6,G0 = g5
R2 = r7,r1 = r6,r0 = r5
即
b =(rgb>> 16 )& 0xFF的;
g =(rgb>> 8 )& 0xFF的;
r = rgb& 0xFF的;
B = b>> 6 ;
G = g>> 5 ;
R = r>> 5 ;
RGB =(B << 6 )| (G << 3 )| R等
Hello Friends,
can you help me to convert a 24bit RGB image to 8 bit RGB image...
and 16bit grey scale to 24 bit RGB..
Thanks,
PS: i am new to image programming and learning new aspects
What I have tried:
i have tried to shift bits as below ...
r = r >> 1;
g = g >> 2;
b = b >> 1;
解决方案
As noted for instance here "colors - How to convert 24 bit RGB to 8 bit RGB - Stack Overflow"[^] the 8 bit per pixel format is usually used as palette index.
However, suppose you have the following formats:
bit number 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 b7 b6 b5 b4 b3 b2 b1 b0 g7 g6 g5 g4 g3 g2 g1 g0 r7 r6 r5 r4 r3 r2 r1 r0 bit number 7 6 5 4 3 2 1 0 B1 B0 G2 G1 G0 R2 R1 R0 Then B1 = b7, B0 = b6 G2 = g7, G1 = g6, G0 = g5 R2 = r7, r1 = r6, r0 = r5 that is b = (rgb >> 16) & 0xFF; g = (rgb >> 8) & 0xFF; r = rgb & 0xFF; B = b >> 6; G = g >> 5; R = r >> 5; RGB = (B << 6) | ( G << 3 ) | R;
这篇关于如何将24位rgb转换为8位rgb的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文