s1093705 作業6
Run-Length Based Image Compression 練習 題目說明: 附件中為三張利用將晶片高度以色彩視覺化後的圖片。 請設計一個基於Run-Length 的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。 部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率 (compression ratio)。 開發環境: Windows 11 Visual Studio Code Python 3.11.2 Opencv 4.7.0 實作結果: Run length format: [0, 0, 0, 128, 255, 255] -> 0 3 128 1 255 2 程式說明: 1. Import library from PIL import Image import numpy as np import os 2. run-length encoding algorithm def RLE_encoding ( img , bits = 8 ): encoded = [] count = 0 prev = None fimg = img .flatten() for pixel in fimg : if prev == None : prev = pixel count += 1 else : if prev != pixel : encoded . append (( count , prev ...