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向量中,並更新WidthHeight陣列中的寬高數值

4.      使用RLE壓縮方法來壓縮原始圖片後,將壓縮圖片存成txt(assignment5資料夾中的image資料夾),並計算原始圖片和壓縮後圖片的大小

5.      利用原始圖片大小和壓縮圖片大小計算各圖片的壓縮率並輸出

6.      將各個圖片算出來的壓縮率相加後除3,計算平均壓縮率並輸出

7.      設計的RLE壓縮法:初始化了一個空向量tmp來儲存壓縮後的像素序列,count用來計算相同像素出現的次數,tmp2記錄前一個像素的值。用迴圈掃過每個像素,若當前像素與前一個像素相同且計數小於255,則增加計數;否則將前一個像素和計數存入tmp中,並更新tmp2以及count計回1,最後我們將最後一個序列也存入tmp

成果展示與討論:





留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1091537 Homework #1