s1091402 作業6

題目敘述

Run-Length Based Image Compression 練習
附件中為三張利用將晶片高度以色彩視覺化後的圖片。
請設計一個基於Run-Length 的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。
部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率
(compression ratio)。

開發環境

Windows10、Spyder (Python 3.8)、OpenCV 4.7.0

說明

1. 讀入圖檔,並輸出檔案大小

2. cv2.split(image)將圖片分成b、g、r三個通道

3. 分別將flatten()將b、g、r存成一維陣列

4. rle_encode函式處理基於Run-Length的壓縮法方法,即用連續出現的次數取代連續重複的數據,例如:[1, 1, 1, 2, 2, 3, 3, 3, 3]->[3, 1, 2, 2, 4, 3]。

5.  生成.txt檔案,寫入圖像的長寬尺寸(image.shape[])以及壓縮數據,並輸出壓縮檔之檔案大小

6. 計算平均壓縮率


壓縮檔及原圖

各檔案之原始大小、壓縮後大小、壓縮率
以及平均壓縮率

留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1061637 作業6