2022年6月2日 星期四

s1073513 作業6

 

作業說明

附件中為三張利用將晶片高度以色彩視覺化後的圖片。

請設計一個基於Run-Length的壓縮方法,對圖檔作無失真壓縮後儲存成新檔案。

部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression ratio)

開發環境

·                     Windows 11

·                     Visual Studio Code

·                     Anaconda 4.11.0

·                     OpenCV 4.5.5

程式說明

def RLE_encoding(img, bits=8,  binary=True, view=True):

獲取每個通道並將其視為灰度圖像並在其上應用 RLE

將圖像轉換為二進製或按原樣使用。

然後將圖像轉換為平面,即一維向量。

從左到右掃描。

如果先前的值與當前值相同,則計算運行,否則附加(value, run)在編碼上。並且還要檢查運行長度,即如果它變成2**bits - 1然後附加它。如果它超過該值,那麼我們的值將在稍後四捨五入到 8 位範圍。

執行結果:



平均壓縮率:

TIFF: 9.875182079629367

NPZ: 1.470892777801373

沒有留言:

張貼留言