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)
留言
張貼留言