s1093326 作業6
主題: Run-Length Based Image Compression 練習
1. 題目說明:
附件中為三張利用將晶片高度以色彩視覺化後的圖片。
請設計一個基於 Run-Length 的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。
部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率 (compression ratio)。
2. 開發環境:
OS: Windows 10
Editor: Visual studio 2022
Language: C++
Package: OpenCV 4.7.0
3. 程式碼說明:
imread() : 讀取圖片
runLengthEncode() : 壓縮圖片
-> pixel=當前的像素值,count=重複次數
-> 若pixel等於下一個像素值,count+1,並繼續往後比對像素值
-> 將pixel和count利用push_back存入vector中
ofstream file("img1.bin", ios::binary) : 建立一個檔案並以二進制形式進行寫入
tellg() : 計算檔案大小
4. 執行結果:
原圖:
留言
張貼留言