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. 執行結果: 原圖: 原始圖檔與壓縮後圖檔的資料量: 三張圖的平均壓縮率壓縮率: