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成二維陣列以還原成最 終圖片。 壓縮率示意 參考資源 Run-length