作業說明:
Run-Length Based Image Compression練習
附件中為三張利用將晶片高度以色彩視覺化後的圖片。
請設計一個基於Run-Length的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。
部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression ratio)。
環境:
Ubuntu 20.40
Vim 8.2
Python 3.8.10
Opencv-python 4.5.5.64
Numpy 1.22.3
程式功能:
1. imread讀檔
2.將img split成BGR
3.對每個channel做RLC(oneChannelRLC function) (pixel強度, 數量)
4.將結果存成txt
(第一張圖為list直接存(壓縮效果不彰),第二張為每個row都是一個數字)
即編碼進txt方式不同
5. 計算壓縮率
*. Decoding Check將list reshape回原本channel的np array
使用指令:
python3 Assignment6.py img1.bmp
or
chmod +x Assignment6.py ;
./Assignment6.py img1.bmp
沒有留言:
張貼留言