s1081428 作業六

 主題

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

開發環境

    ubuntu 22.04 + Opencv-python 4.7.0 in Visual Studio code

程式說明

    讀取三張圖片,將各圖片的rgb編碼分開計算,並降維成一維陣列方便計算。

    採最基本的run-length策略,判斷相鄰兩格pixel的呈色是否相同,一直紀錄到有不同的數值為止
,最終編碼僅保存色值和
    連續數量,減少對每個pixel的儲存。

    以string儲存編碼,以json格式儲存,讀取則直接讀取整個json檔在進行decompress。

    decompress則讀取json拆解整段編碼進行還原,格式為(色值,數量)存入回一維陣列,再reshape成二維陣列以還原成最
    終圖片。
    

    壓縮率示意

參考資源

留言

這個網誌中的熱門文章

rzwang Homework #1

s1101438 Homework #1

s1093309 作業6