2022年6月1日 星期三

s1081534 作業6

  1. 作業說明: 

  •  設計一個基於Run-Length的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案,並計算三張圖的平均壓縮率


2.開發環境:

  • Windows 10
  • Visual Studio 2019
  • OpenCV3.4.6
  • C++
3.實作方法:
  1. 將讀入的圖片使用split()把三個channel分離並存入vector

  2. 將分離出的三個cahnnel從二維降成一維,也將其分別存入不同vector

  3.  對每個一維的陣列個別做Run-length encoding               

  4. 最後輸出到同一個dat檔中,將每一個 channel的資訊分別做區隔

  5. 第二部分將壓縮後的檔案在解壓縮

  6. 讀入dat檔,將每個channel個別存取 

  7. Mat一張新的圖片並讀取的資訊填入每個pixel得到無失真的影像

  8. 用resize()去調整輸出圖片的大小  

  9. 最後分別去計算壓縮率(原圖大小/壓縮檔大小)和平均壓縮率

4.執行結果:
輸出圖片:


檔案大小對照:
壓縮率:








沒有留言:

張貼留言