歡迎來到數據表示:圖像表示!
各位未來的電腦科學家,大家好!本章節將帶你了解電腦是如何在只懂得 0 和 1(二進制)的情況下,成功呈現出精美且複雜的圖像。
不必擔心數學或物理不是你的強項,我們會將圖像表示法拆解成簡單的構成要素。在本節結束時,你將掌握數碼儲存任何圖片所需的三大關鍵要素:像素 (pixels)、解像度 (resolution)、色彩深度 (colour depth) 以及 元數據 (metadata)。
重點摘要:為什麼這很重要?
理解圖像表示非常關鍵,因為它直接影響檔案大小和圖像品質。這些知識能幫助我們計算儲存需求,這是電腦科學中的一項核心技能。
1. 位元圖與像素:數碼圖像的基礎
當電腦儲存一張照片時,它並不是儲存照片中的場景,而是儲存一張巨大的「地圖」,用來描述構成圖片的每一個微小點。這類圖像被稱為位元圖 (Bitmap)(即位元組成的地圖)。
類比:方格紙繪圖
想像一下,試著只用一張方格紙來重現一幅名畫。你將每個小方格填上一種顏色,直到整幅畫顯現出來。數碼位元圖的運作方式正是如此。
什麼是像素 (Pixel)?
數碼圖像中最小的元素稱為像素 (Pixel)(是 Picture Element 的縮寫)。
• 每個像素都會被分配一個二進制代碼(一串 0 和 1),告訴電腦它應該呈現什麼顏色。
• 電腦會讀取這張「地圖」(位元圖),並根據儲存的二進制代碼來設定螢幕上每個像素的顯示狀態。
快速檢查: 如果你在手機或電腦螢幕上將照片放大到極致,最終會看到一個個獨立的方格,那就是像素!
快速回顧:位元圖 vs. 像素
位元圖 (Bitmap): 所有像素組成的整個網格或地圖。
像素 (Pixel): 網格內的一個單一彩色點。
2. 解像度:網格的大小
決定圖像品質和檔案大小的第一個因素是解像度 (Resolution)。
解像度是指建立圖像所使用的像素總數。通常以「闊度乘高度」來表示。
計算解像度
如果一張圖片的闊度為 1200 像素,高度為 800 像素,其解像度就是 \(1200 \times 800\)。
要找出圖像中的總像素數,只需將闊度乘以高度:
\(\text{總像素} = \text{闊度} \times \text{高度}\)
例子: \(1200 \times 800 = 960,000\) 像素。
解像度的影響
• 低解像度: 意味著像素較少。如果你試圖在大螢幕上顯示低解像度圖像,像素會變得明顯(使圖像看起來有「格子感」或像素化/起格)。
• 檔案大小: 更高的解像度需要儲存更多的像素數據,導致檔案大小更大。
別擔心! 當人們說螢幕是「Full HD 1080p」時,指的是 \(1920 \times 1080\) 像素(闊乘高)的解像度。那可是超過 200 萬個像素呢!
3. 色彩深度:定義每個點的顏色
我們知道像素是一個單一的彩色點,但電腦如何知道它是什麼顏色?這由色彩深度 (Colour Depth) 來決定。
什麼是色彩深度(每像素位元數 - BPP)?
色彩深度是用來儲存單個像素顏色資訊的位元 (bits) 數量。有時也稱為每像素位元數 (Bits Per Pixel, BPP)。
由於一個位元只能是 0 或 1,使用更多的位元可以創造出更多的組合,從而呈現更多的顏色。
計算可顯示的顏色數量
可呈現的顏色數量可以使用以下公式計算:
\(\text{顏色數量} = 2^{\text{色彩深度(以位元為單位)}}\)
色彩深度的分步範例
讓我們看看增加 BPP 如何大幅增加顏色選項:
範例 1:1-bit 色彩深度
• 計算: \(2^1 = 2\) 種顏色
• 結果: 這張圖像只能顯示 2 種顏色(通常是黑與白)。
範例 2:8-bit 色彩深度
• 計算: \(2^8 = 256\) 種顏色
• 結果: 這在舊型電腦遊戲中很常見。它允許有限的顏色範圍,但不足以達到照片般的寫實品質。
範例 3:24-bit 色彩深度(全彩/真彩色)
• 計算: \(2^{24} = 16,777,216\) 種顏色(約 1670 萬種)
• 結果: 這被稱為全彩 (True Colour)。由於人眼只能分辨約 1000 萬種顏色,因此 24-bit 的深度被認為已達到照片級的真實感,是現代數碼攝影和顯示器的標準。
記憶口訣: 更多的每像素位元數 (BPP) = 更深的顏色 = 更好的品質 = 更大的檔案大小。
4. 元數據:與圖像一同儲存的資訊
除了原始像素數據外,圖像檔案還必須儲存元數據 (Metadata)。
元數據被定義為關於數據的數據 (data about data)。如果沒有元數據,電腦只會看到一長串二進制數字,無法得知網格應該繪製多闊,或者每個像素由多少個位元組成。
常見圖像元數據例子
• 色彩深度: 所使用的每像素位元數 (BPP)。
• 檔案格式: 檔案類型(例如 BMP、PNG、JPEG)。
• 建立日期與時間: 圖像建立或拍攝的時間。
計算備註: 當使用公式 \(\text{解像度} \times \text{色彩深度}\) 計算儲存需求時,計算出的是不包括元數據的原始圖像大小。
5. 計算圖像檔案大小
現在我們將解像度和色彩深度結合起來,計算未經壓縮的檔案大小(不包括元數據,以位元、位元組、KB 或 MB 為單位)。
核心公式
\(\text{檔案大小(以位元為單位)} = \text{總像素數} \times \text{色彩深度 (BPP)}\)
分步計算過程
請依照這四個關鍵步驟準確計算檔案大小:
步驟 1:計算總像素數(解像度)
將圖像闊度乘以圖像高度。
例子: 一張圖片闊度為 400 像素,高度為 300 像素。
\(400 \times 300 = 120,000\) 像素
步驟 2:計算總位元數(以位元為單位的檔案大小)
將總像素數乘以色彩深度 (BPP)。
例子: 上述圖片的色彩深度為 8 bits (8 BPP)。
\(120,000 \times 8 = 960,000\) 位元
步驟 3:將位元轉換為位元組 (Bytes)
由於 8 bits 等於 1 byte,將總位元數除以 8。
\(960,000 \div 8 = 120,000\) 位元組
步驟 4:轉換為千位元組 (KB) 或 百萬位元組 (MB)
對於大檔案,我們會轉換成更大的單位。請記住,對於儲存空間計算:
\(1 \text{ Kilobyte (KB)} = 1024 \text{ Bytes}\)
\(1 \text{ Megabyte (MB)} = 1024 \text{ KB}\)
將步驟 3 的結果(120,000 位元組)轉換為千位元組 (KB):
\(120,000 \div 1024 \approx 117.19\) KB
🚨 常見錯誤警告 🚨
在電腦科學中,將位元組轉換為 KB,或 KB 轉換為 MB 等單位時,請務必記得除以 1024(而不是 1000),因為這是二進制的單位轉換!
計算總結
計算檔案大小能顯示品質與儲存空間之間的取捨:
• 如果你將色彩深度翻倍(例如從 8 BPP 變為 16 BPP),檔案大小會翻倍。
這解釋了為什麼高解像度、高色彩的圖片在手機上會佔用那麼多空間!
本章重點總結
• 解像度 (Resolution)(\(\text{闊度} \times \text{高度}\))決定了像素總數。
• 色彩深度 (Colour Depth) (BPP) 決定了每個像素所使用的位元數,影響顏色忠實度(\(2^{\text{BPP}}\) 種顏色)。
• 元數據 (Metadata) 是關於數據的數據(例如尺寸、色彩深度、檔案格式),用以正確重現圖像。
• 檔案大小(位元) = \(\text{解像度} \times \text{色彩深度}\)(不包括元數據)。
• 轉換單位:\(8 \text{ bits} = 1 \text{ Byte}\);\(1024 \text{ Bytes} = 1 \text{ KB}\)。
你已經掌握了電腦如何看待和儲存圖片了!做得好!現在你已經準備好挑戰數據計算的練習題了。