一、作業說明
Run-Length Based Image
Compression
附件中為三張利用將高度以色彩視覺化後的圖片。
請設計一個基於Run-Length的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。
部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression
ratio)。
二、作業環境&語言
Windows 10 + Python 3.8.5
Pillow 8.1.0
三、方法&步驟
- 讀取bmp檔案
- 取出寬和高,以及每個pixel的RGB值
- RGB三值分開儲存(才可使Run-Length方法有效壓縮)
- 將長寬及壓縮後的RGB三條list接再一起並儲存為dat檔
五、執行結果
img1.bmp:
Compression ratio:14665254/5940069=2.4688
img2.bmp
Compression
ratio: 14665254/10230.738=1.4334
Img3.bmp
Compression
ratio: 14665254/5450420=2.6906
avg compression ratio: 2.1976
沒有留言:
張貼留言