一、作業說明
附件中為三張利用將高度以色彩視覺化後的圖片。
請設計一個基於Run-Length的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression ratio)。
二、作業環境
● Windows 10
● Python 3.6
● opencv 4.2.0
三、實作方法
Compress
1.讀入圖片(.bmp)
2.將圖片的BGR分別提取成三個陣列
3.將每個陣列展開成一維(為了加速處理時間)
4.對每個陣列做run length壓縮資料提取
5.將壓縮資料合併,且加上檔案頭(圖片長度,圖片寬度,BGR個別的資料個數)
6.寫出壓縮檔(.omniMan)
Decompress
1.讀入壓縮檔案(.omniMan)
2.讀取檔案頭
3.依照表頭的資料讀取BGR的資料
4.依照壓縮資料重新組成原圖片
5.輸出圖片
四、執行結果
沒有留言:
張貼留言