s1083513 作業6
一、作業主題: Run-Length Based Image Compression
附件中為三張利用將晶片高度以色彩視覺化後的圖片。
請設計一個基於 Run-Length 的壓縮方法,對圖檔作無失真壓縮後儲存成新檔案。
部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression ratio)。
二、開發環境
Windows
10 / Visual Studio 2022 C++ / OpenCV 4.7.0
三、實作方法
1. imread()讀取圖片並建立vector<pair<int,int>>來儲存資料
2. 依rgb分別儲存成三個陣列
3. 將三個陣列用run-length方法存在vector<pair<int,int>>裡
4. 輸出成txt檔,並存於電腦中
5. stat()讀取檔案大小,並計算壓縮率
一、執行結果
n原圖
n
原圖與壓縮後圖檔的資料量
n
計算平均壓縮率
留言
張貼留言