一、作業說明
附件中為三張利用將高度以色彩視覺化後的圖片。請設計一個基於Run-Length的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression ratio)。
二、作業環境&語言
Windows 10
Visual Studio 2019
OpenCV 4.0.1
Python 3.8
三、實作方法
encode:
1.split() 切割出rgb值
2.flatten()轉一維
3.設一個list a,將 r,g,b 壓縮後append()
4. f.write()寫入檔
decode:
1.讀壓縮檔
2.把rgb的值存起來
3.把rgb值還原解壓縮
4.reshape()調整大小,merge()合併
5.imwrite()寫出圖片
四、執行結果
1. img1_decode.bmp
2.img2_decode.bmp
3.img3_decode.bmp
壓縮率:
img1: 7885/14322*100 = 55.055%
img2: 13467/14322*100 = 94.03%
img3: 7314/14322*100 = 51.068%
沒有留言:
張貼留言