作業內容:
附件中為三張利用將高度以色彩視覺化後的圖片。
請設計一個基於Run-Length的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。
部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression ratio)。
Coding環境:
Windows 10
Visual studio
Python 3.9
Opencv-python 4.5.1.48
numpy 1.20.1
程式說明:
1.利用input來取得檔案的名字並讀取.bmp檔
2.之後處理每個通道的數值,利用run length 儲存後,並將檔案寫成.encode檔
3.在讀入先前encode的檔案根據Header的資訊並還原圖輸出成名子_decode.bmp檔
壓縮率:
img1_encode.encode /img1.bmp= 7.885/14.3*100% = 55.05%
img2_encode.encode /img2.bmp 13.4/14.3*100% = 93.7%
img3_encode.encode /img3.bmp7.314/14.3*100% = 51.1%
Average:66.3%
處理結果:
Img1.bmp解壓後對比:
Img3.bmp解壓後對比
沒有留言:
張貼留言