Run-Length Based Image Compression練習
附件中為三張利用將晶片高度以色彩視覺化後的圖片。
請設計一個基於Run-Length的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression ratio)。
開發環境:
Windows10
Vscode
Python3.9.6
Opencv-Python_4.5.5.62
程式說明:
讀入照片後,把各channel分開,分別進行RLE壓縮,舉例:原本資料是1,1,1,1,1,2,2,3,會變成(5,1),(2,2),(3,1)tuple的第一個值為第二個該pixel值的數量,處理完後把r,g,b接起來存在同個npz檔中,之後再用os.path.getsize取得檔案大小,以便算出平均壓縮率
結果截圖:
沒有留言:
張貼留言