一﹑作業說明:
附件中為三張利用將高度以色彩視覺化後的圖片。
請設計一個基於Run-Length的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。
部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression ratio)。
二﹑使用環境:
•
OS:Win10
•
編譯器:Visual Studio Code
•
語言:Python
三﹑實作方法:
l
RLE壓縮:
•
讀取bmp圖片後用f.read()把head的資訊讀取出來
•
Struct.unpack取出長寬
•
Data用reshape的方式組成numpy格式
•
把rgb資料分別存為list,進行RLE壓縮
•
完成後寫檔.3317(長寬也包含在內)
l
RLE解壓縮:
•
使用open讀.3317檔
•
把RGB的三個list用RLE相反的方式還原回來
•
先用reshape建一個空的np array,再將RBG值填入
•
重新輸出圖片
四﹑執行結果:
平均壓縮率=(2.45+1.42+2.67)/3=2.18
沒有留言:
張貼留言