我想知道什麼是將24位RGB顏色(每種顏色8位)轉換爲8位顏色(2位藍色,3綠色,3紅色)。我想要C代碼來做到這一點。如何將24位RGB轉換爲8位RGB
3
A
回答
6
8位RGB通常是索引(palettized)顏色格式,請參閱Palette (computing)。
儘管如此,從24條bpp中獲得8條bpp非常簡單 - 您需要去除最低有效位並將這些位合併爲每個像素的單個字節值。 AFAIK它不是標準或衆所周知的像素顏色表示。
+0
你確定應該捨棄不太重要的字節而不是近似嗎? –
+2
有些選項,例如抖動。理解和實現最簡單的方法是丟棄比特並減少細節,以適應固定數量的比特。在此之上的改變是增加更多的噪音,但留下更好的主觀質量。無論如何,我敢打賭,如果OP向後退一步澄清問題,就會出現索引顏色格式。 –
1
不是在C中,但在JavaScript中。
encodedData = (Math.floor((red/32)) << 5) + (Math.floor((green/32)) << 2) + Math.floor((blue/64));
0
要轉換的8位[0 - 255]值變換爲3位[0,7]中,0是沒有問題的,但要記住255應該轉換爲7,所以式應RED3 = Red8 * 7/255
24位顏色轉換成8位(RRRGGGBB),
8bit Color = (Red * 7/255) << 5 + (Green * 7/255) << 2 + (Blue * 3/255)
相關問題
- 1. 將24位RGB轉換爲ARGB16
- 2. 將RGB圖像轉換爲RGB 16位和8位
- 3. 工具從16位RGB轉換爲24位RGB,反之亦然
- 4. 將8位顏色轉換爲RGB值
- 5. 轉換32位rgb圖像爲8位rgb C++
- 6. 轉換24位圖像RGB到3位8色
- 7. MATLAB/Opencv:將24位RGB圖像轉換爲16位灰色
- 8. 使用OpenCV將12位拜耳圖像轉換爲8位RGB
- 9. 如何將圖像顏色從RGB 24位量化爲RGB 6位(64色)?
- 10. 如何十六進制顏色轉換爲RGB顏色(24位)
- 11. 將BGR位圖轉換爲RGB
- 12. 在VB中將位圖轉換爲RGB
- 13. 將css顏色轉換爲16位rgb
- 14. RGB 24位到16位顏色轉換 - 顏色變暗
- 15. java.awt.image.BufferedImage使用自定義ColorSpace的24位RGB到8位灰度轉換
- 16. PIL:將RGB圖像轉換爲特定的8位調色板?
- 17. 32位rgb bmp到C#中的24位rgb bmp問題
- 18. 轉換的MP4爲rgb 24位與gstreamer的
- 19. 16位RGB到3位RGB
- 20. 24位RGB圖像到8位灰度級字節數組
- 21. 如何使用Java在ImageJ2中將圖像從8位轉換爲RGB
- 22. Java for ImageJ。如何使用代碼將圖像從RGB轉換爲8位?
- 23. 如何將RGB顏色轉換爲最接近的匹配8位顏色?
- 24. 使用JMF快速實現24位RGB到灰度轉換Java
- 25. 使用C#如何將RGB轉換爲YCrCb和YCrCb爲RGB
- 26. 將YCCK jpeg轉換爲RGB
- 27. 將RGB值轉換爲HSV
- 28. ImageSharp將Rgb轉換爲Hsv
- 29. 將RGB轉換爲HSV
- 30. 將RGB轉換爲RGBW
請添加有關編程語言和/或色彩表現細節。 –
對不起,我完全忘了 – Gootik