2021年5月25日 星期二

s1073342 影像處理作業 6

  •  作業題目:
    • 附件中為三張利用將高度以色彩視覺化後的圖片。
      請設計一個基於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.33 = 4.174

解壓縮後檔案相同

壓縮率:13.9 / 4.86 = 2.86


壓縮率:13.9 / 3.22 = 4.317

平均壓縮率 = 13.9 * 3 / (3.33 + 4.86 + 3.22) = 3.655









沒有留言:

張貼留言