[s1101413 Homework#5]

1122 Digital Image Processing Assignment #5 報告

學號:1101413 姓名:陳品妤 

主題:

Run-Length Based Image Compression 影像壓縮練習

專案目標:

 設計一個基於 Run-Length 的 壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。

開發平台:Microsoft Windows 11, Visual Studio Code, OpenCV 4.90, Python 

成果展示:

1.RLE編碼(rle_encode):將連續相同的像素值連續出現的次數以及該像素值進行編碼。例如,如果一行像素為[255, 255, 255, 0, 0, 0, 0, 255, 255],則RLE編碼後的結果為[3, 255, 4, 0, 2, 255]。這樣,每對數字代表了像素值的連續出現次數和像素值本身。


2.圖片壓縮(compress_bmp):首先,程式打開了一個BMP格式的圖片文件,讀取了其中的像素數據。接下來,將圖片的像素數據進行RLE編碼。對於每對RLE編碼後的數字,分別寫入了壓縮文件中,第一個字節代表像素值的連續出現次數,後面兩個字節代表像素值的RGB分量。因為像素值的連續出現次數和像素值本身都被壓縮成了數字,所以這樣可以有效地減少文件大小。













平均壓縮率=[4.60+2.77+4.83]/3=4.07

留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1091537 Homework #1