作業說明
附件中為三張利用將高度以色彩視覺化後的圖片。
請設計一個基於Run-Length的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。
部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression ratio)。
開發環境
Windows 10
Python 3.9
Opencv-python 4.5.1.48
numpy 1.20.1
程式說明
1.讀取照片後 寬 = len(img), 長 = len(img[0])
2.對3個channel做run length encoding 運算並把長, 寬, channel數與run length encoding後的資料存在3310_compress裡
3.讀取3310_compress, 並讀每個channel的資料並用row*col還原成原本的圖片並輸出
img1壓縮率:7885/14322(kb) = 55.05%
img2壓縮率: 13467/14322(kb) = 94.03%
img3壓縮率: 7314/14322(kb) = 51.06%
平均壓縮率(55.05% + 94.03% + 51.06%) = 66.71%
沒有留言:
張貼留言