作業說明
附件中為三張利用將晶片高度以色彩視覺化後的圖片。
請設計一個基於Run-Length的壓縮方法,對圖檔作無失真壓縮後儲存成新檔案。
部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression ratio)。
開發環境
- Windows 11
- Visual Studio Code
- Anaconda 4.11.0
- OpenCV 4.5.5
程式說明
I. 壓縮
i. 用imread讀取檔案後,以spilt()將RGB通道分開
ii. 使用flatten(),將二維變成一維
iii. 用RLE這個function,分別對R、G、B通道進行處理,再把三通道壓縮後的資料放在一起,並變成tif檔
II. 解壓縮
用RLE_decode這個function解壓縮,使用reshape將三通道復原,並用merge合併,得出無失真圖檔
III. 平均壓縮率
個別算出圖檔的壓縮率,最後相加並平均,得出平均壓縮率
實作結果
解壓縮後的圖檔
各圖的壓縮率與平均壓縮率
沒有留言:
張貼留言