s1093310 Homework #5
1122 Digital Image Processing
Assignment #5 報告
學號: 1093310 姓名: 胡凱騰
主題: Run-Length
Based Image Compression 影像壓縮練習
專案目標:
基於python與opencv、numpy撰寫一個程式,設計基於Run-Length的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案,並計算三張圖的平均壓縮率。
開發平台:
Microsoft Windows 10,
Visual Studio Code, Python 3.10.11, opencv-python 4.9.0.80
功能說明:
程式以命令列引數分別傳入圖像或放置圖像資料夾的位置,如果是資料夾,程式會自動抓取所有.bmp檔,接著傳入輸出的資料夾位置,以’’-h’’查看說明。執行後會將所有圖像壓縮,並以.bin檔輸出,接著讀入該bin檔以確保圖像與壓縮前沒有差異,若不一樣會拋出例外,最後計算所有圖像的壓縮率與平均壓縮率,壓縮率公式為:
原圖像bytes / 壓縮檔bytes
在壓縮圖像上主要分為兩部分,第一部分為基礎的 Run-Length,第二部分是對使用到的RGB進行映射以降維,下圖分別為有無對RGB進行映射的壓縮率。
圖1. 有對RGB進行映射壓縮率
圖2. 沒有對RGB進行映射壓縮率
留言
張貼留言