計算機如何將彩色或黑白圖像轉換爲二進制文件?相反,如何將二進制數據轉換爲圖像?我的意思是問它如何處理圖像數據?計算機如何將圖像轉換爲二進制文件?
回答
你的問題涉及很多變量。位深度,色彩空間,壓縮和存儲格式。
但基本的想法有點像這樣。圖像由像素組成。 100x100大小的圖像具有10,000個像素。原始數據需要表示每個像素的顏色值。這是比特深度發揮作用的地方。如果每像素只有1位,則只能表示兩種顏色 - 例如,可能是黑色和白色。這不會形成一個特別有趣的圖像。你可以通過使用點畫來欺騙眼睛看到陰影。早期的計算機使用4位顏色提供最多16種顏色,這是一個開始,但8位顏色證明更有趣,允許256種顏色。隨着計算機硬件的改進,每像素的位數增加 - 16位(65,536色),然後最終達到24位(1600萬色)。
接下來是色彩空間。這描述瞭如何將顏色信息存儲在這些位中。例如,許多系統使用32位來存儲顏色的紅色,綠色和藍色分量,但也存儲alpha級別(透明度)。一個基本的例子是ARGB色彩空間/模型 - 前8位是alpha,然後是紅色,綠色和藍色(每個8位)。
一旦你有這些數據 - 你需要選擇你如何存儲它。爲了不丟失任何數據,您可以將其存儲爲其最格式 - 即:每一位。但是,這通常會導致大文件。例如:在32位100x100像素的圖像將佔用40K - 不算太壞...但是高清晰度素材的單幀怎麼樣? 1920x1080像素x 32位?略低於8MB。在這個尺寸的情況下,1秒的錄像將佔用大約200MB - 超過1TB的整部電影。這是壓縮進來的地方。
壓縮是一個非常大的話題 - 但讓我們看一個非常簡單的例子。如果我們嘗試減少我們必須存儲的位數,該怎麼辦?我們可以將很多真正相似的顏色轉換成相同的顏色 - 這是以前在網絡上做過的很多事情。人們以8位GIF格式存儲圖像。隨着位深度的減小,它們佔用的空間會少得多,但取決於圖像的複雜程度,通常會導致視覺效果不理想,漸變最終會出現條紋 - 或者照片看起來像素化。
希望這可以讓你對如何存儲圖像有一點了解。結帳維基百科 - 關於我在這裏涉及的所有主題,還有更多深入的信息。下面是一個很好的開始:http://en.wikipedia.org/wiki/Color_depth
- 1. 如何將二進制,OCT,HEX轉換爲Java計算?
- 2. 將原始二進制數據轉換爲圖像文件?
- 3. 將圖像轉換爲二進制文件?
- 4. C++將二進制文件轉換爲圖像
- 5. 如何將錄像機文件轉換爲iPhone上的二進制數據
- 6. 將二進制IOstream轉換爲文件
- 7. 如何將二進制文件轉換爲numpy文件?
- 8. 如何將圖像轉換爲android中的base64二進制值?
- 9. 如何將二進制數據轉換爲圖像?
- 10. 如何在iOS中將圖像轉換爲二進制格式?
- 11. 如何反轉灰度圖像並將其轉換爲二進制圖像?
- 12. 如何將灰度圖像的輸入流轉換爲二進制文件?
- 13. 如何將二進制圖像數據轉換爲圖像文件並將其保存在文件夾中php
- 14. 將圖像轉換爲二進制數組和二進制數組轉換爲java中的圖像
- 15. 轉換爲圖像的二進制WPF;
- 16. 在OpenCV中將灰度圖像轉換爲二進制圖像
- 17. 將圖像(np.array)轉換爲二進制圖像
- 18. 在Matlab中將二進制圖像轉換爲灰度圖像
- 19. 將圖像數據轉換爲vcard的二進制文本
- 20. 如何將位圖圖像轉換爲android中的二進制圖像?
- 21. 如何將十六進制文件轉換爲二進制文件?
- 22. 二進制如何轉換爲硬件?
- 23. 如何將二進制格式的圖像轉換爲可分析的圖像?
- 24. 如何使用MFC將24位彩色圖像轉換爲二進制圖像?
- 25. 如何將ASCII轉換爲二進制文件?
- 26. 如何將二進制文件轉換爲長整數?
- 27. 如何將二進制文件轉換爲字節數組?
- 28. 如何將char轉換爲二進制文件?
- 29. 如何將armv7二進制文件轉換爲i386/x86_64
- 30. 如何在Java中將字節轉換爲二進制文件?
[JPEG的工作原理](http://www.youtube.com/watch?v=9gPHZEXoMKc)。 – shauryachats 2015-03-31 13:05:07