像素和rgb


知乎 

分辨率和像素是什么關系?

 https://www.zhihu.com/question/21149600

 

 

 

轉載  https://blog.csdn.net/adolph_lu/article/details/89706136

 

音視頻基礎知識匯總:
音視頻基礎知識---協議相關RTSP RTMP HLS
音視頻基礎知識---封裝格式
音視頻基礎知識---視頻編碼格式
音視頻基礎知識---音頻編碼格式
音視頻基礎知識---像素格式RGB
音視頻基礎知識---像素格式YUV

RGB概述
RGB是red,green, blue的簡寫,也就是紅綠藍三種顏色。他們是三原色,通過不同的比例相加,以產生多種多樣的色光。

 

 

 

RGB格式
一般來說,RGB在計算機中的表示主要分為兩大類,一種是索引形式,一種是像素形式:

(1)索引格式:

索引格式是計算機早期的一種格式,它的優點比較節省空間,缺點是表現的色彩有限,目前格式基本被拋棄了,不再被使用,這里只做簡單介紹。
索引格式中的bit存儲的並非是實際的R,G, B值,而是對應點的像素在調色板中的索引。
調色板,可以簡單理解為通過編號映射到顏色的一張二維表。如01索引,表示紅色。采用索引格式的RGB,紅色的像素對應存儲的值便是索引01。就像指針一樣,存儲的是值的地址,而不是真正的值。
RGB1

每個像素用1個bit表示,可表示的顏色范圍為雙色,即黑和白。1個bit只能表示0,1兩種值。需要調色板,不過調色板只包含兩種顏色。

RGB4

每個像素用4個bit表示,4個bit所能夠表示的索引范圍是0-15,共16個。也就是可以表示16種顏色。即調色板中包含16中顏色。

RGB8

每個像素用8個bit表示。8個bit所能夠表示的索引范圍是0-255,共256個。也就是可以表示256中顏色。即調色板中包含256中顏色。

(2)像素格式:

RGB像素格式中的bit存儲的是每一個像素點的R,G,B值

RGB565

一個像素用16個bit = 2個字節表示 ,R=5 G=6 B=5

 

R = color & 0xF800; //獲取高字節的5個bit

G = color & 0x07E0; //獲取中間6個bit

B = color & 0x001F; //獲取低字節5個bit

RGB555

一個像素用16個bit = 2個字節,但是最高位不用,R=5 G=5 B=5

 

 

R = color & 0x7C00; //獲取高字節的5個bit

G = color & 0x03E0; //獲取中間5個bit

B = color & 0x001F; //獲取低字節5個bit

RGB24

一個像素用24個bit = 3個字節來表示,R=8 G=8 B=8

 

 

R = color & 0x0000FF00;

G = color & 0x00FF0000;

B = color & 0xFF000000;

RGB32

一個像素用32個bit = 4個字節 來表示,R=8 G=8 B=8,存儲順序為B, G, R,最后8個字節保留。

 

 

R = color & 0x0000FF00;

G = color & 0x00FF0000;

B = color & 0xFF000000;

A = color & 0x000000FF;

Android平台下的幾個常用RGB格式:
Bitmap.Config.ALPHA_8

每個像素用8比特位表示,占1個字節,只有透明度,沒有顏色。

 

Bitmap.Config.RGB_565

每個像素用16比特位表示,占2個字節,RGB分量分別使用5位、6位、5位,見上圖。

 

Bitmap.Config.ARGB_4444

每個像素用16比特位表示,占2個字節,由4個4位組成,ARGB分量都是4位。

 

Bitmap.Config.ARGB_8888

每個像素用32比特位表示,占4個字節,由4個8位組成,ARGB分量都是8位。

 

注意:java默認使用大端字節序,c/c++默認使用小端字節序,android平台下Bitmap.config.ARGB_8888的Bitmap默認是大端字節序,當需要把這個圖片內存數據給小端語言使用的時候,就需要把大端字節序轉換為小端字節序。例如:java層的ARGB_565傳遞給jni層使用時,需要把java層的ARGB_565的內存數據轉換為BGRA565。
————————————————
版權聲明:本文為CSDN博主「adolph_lu」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/adolph_lu/article/details/89706136


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM