2015-03-31 420 views

回答

8

你的問題涉及很多變量。位深度,色彩空間,壓縮和存儲格式。

但基本的想法有點像這樣。圖像由像素組成。 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

相關問題