s1091523 Homework #5

1122 Digital Image Processing Assignment #5 報告

學號 s1091523          姓名:郭芳妤

 

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

專案目標:

        附件中為三張利用將晶片高度以色彩視覺化後的圖片。設計一個基於Run-Length的壓縮方法,對圖檔作無失真壓縮後儲存成新檔案,並計算三張圖的平均壓縮率(compression ratio)

開發平台:

Microsoft Windows 11, Visual Studio Code, OpenCV 4.9.0, Python 3.11.0


程式說明:

首先有兩個功能按鈕: 1. 壓縮 2. 解壓縮

按下壓縮按鈕,選擇圖片所在資料夾

按下解壓縮按鈕,選擇要解壓縮的檔案

讀取Image資料夾的三張圖。對於每張圖片,分離RGB通道,將數據轉換為一維,再分別對每個通道進行Run-length編碼(使用end作為結尾),將壓縮結果存在.txt檔。讀取.txt檔,可按照編碼規則,解壓縮回原始檔案,達成無失真壓縮。

Run-length編碼方法:

假設原始陣列為[0,0,0,0,0,0,255,0,38],會編碼成[6,0,1,255,,1,0,1,38],對於大量連續重複顏色區塊,可以達到較好的壓縮結果。


成果:

每張圖的壓縮率與三張圖的平均壓縮率












壓縮檔(.txt)與解壓縮後的檔案(.bmp)




留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1061637 作業6