一、作業說明:
請設計一個基於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. 一開始先讀進圖片,若檔名不存在則顯示
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
沒有留言:
張貼留言