s1091346 Homework #5
1122 Digital Image Processing Assignment
#5 報告
學號:1091346        姓名:襲冠綸
主題:Run-Length Based Image Compression影像壓縮練習
專案目標:
撰寫一個Run-Length的壓縮法程式來將附件中的三張bmp圖片進行無失真壓縮後,儲存成新的檔案,我是將壓縮圖片存成txt檔。
開發平台:Microsoft Windows 10, Visual Studio 2022, OpenCV 4.90,
C++
程式架構與功能說明:
1.     
使用者先將assignmen5資料夾先放在C槽
2.    
讀取圖片後,以Width[3]和Height[3]陣列來讀取每個圖像的寬度和高度,以oripixels二維向量來存取每張圖片的像素數據
3.     
進行迴圈,讀取三張圖像,將它們的像素數據存儲存oripixels向量中,並更新Width和Height陣列中的寬高數值
4.     
使用RLE壓縮方法來壓縮原始圖片後,將壓縮圖片存成txt檔(assignment5資料夾中的image資料夾),並計算原始圖片和壓縮後圖片的大小
5.     
利用原始圖片大小和壓縮圖片大小計算各圖片的壓縮率並輸出
6.     
將各個圖片算出來的壓縮率相加後除3,計算平均壓縮率並輸出
7.     
設計的RLE壓縮法:初始化了一個空向量tmp來儲存壓縮後的像素序列,count用來計算相同像素出現的次數,tmp2記錄前一個像素的值。用迴圈掃過每個像素,若當前像素與前一個像素相同且計數小於255,則增加計數;否則將前一個像素和計數存入tmp中,並更新tmp2以及count計回1,最後我們將最後一個序列也存入tmp中
成果展示與討論:

.png)
 
 
 
留言
張貼留言