2022年6月2日 星期四

s1081424 作業6


一、作業說明:

    

    請設計一個基於Run-length的壓縮方法,對圖檔做無失真壓縮後儲存成新檔案。並在部落格上敘述壓縮方法,提供壓縮檔之格式,並計算平均壓縮率(compression ratio)。

二、開發環境:


    (1)    Windows 10 + Visual Studio2019 + Opencv3.4.6

    (2)    方案組態:Debug

    (3)    方案平台:x64

    (4)    使用到的Library:iostram、opencv/opencv.hpp、fstream

    (5)    使用的語言:C++


三、實作說明:


     1.    一開始先讀進圖片,若檔名不存在則顯示


    
      2.    
讀取圖片,讀取長寬、各pixel值

     3.    寫 一個函示,負責處理圖片壓縮,裡面運用cv2切分成bgr三通道,利用Run-Length編碼:

              計算連續出現的值

    

      4.    分別對B,G,R 做 RLE 

      5.    最後再進行圖片的輸出


三、結論:

    

    1.   img1的壓縮率:



    2.    img2的壓縮率:

    3.    img3的壓縮率:

    4.    平均壓縮率:

    (1.8+1.0+1.9) / 3= 1.56

    




沒有留言:

張貼留言