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. 計算平均壓縮率 壓縮檔及原圖 各檔案之原始大小、壓縮後大小、壓縮率 以及平均壓縮率