- 作業題目:
- 附件中為三張利用將高度以色彩視覺化後的圖片。
請設計一個基於Run-Length的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。
部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression ratio)。 - 使用環境:
- window 10
- python 3.9.2
- numpy 1.20.1
- opencv-python 4.5.1.48
- 程式功能:
- 輸入檔案名稱,會根據輸入的副檔名進行判斷壓縮還是解壓縮,壓縮後會輸出 "檔案名稱.3342" , 解壓縮會輸出 "de_檔案名稱"。
- 程式碼相關資訊:
- 把RGB分開存,不一定要三個顏色相同才能合併。
- 如果加上其他色彩空間的判斷,也許壓縮可以更好,因為python最小只能以byte操作,如果要以bit操作,必須自己另外寫,所以有些空間被浪費。
- 計算兩個方向的 Run-Length,最後在比較誰的檔案比較小,留下比較小的檔案。
- 執行結果:
解壓縮後檔案相同
平均壓縮率 = 13.9 * 3 / (3.33 + 4.86 + 3.22) = 3.655
沒有留言:
張貼留言