一. 作業說明
附件中為三張利用將晶片高度以色彩視覺化後的圖片。
請設計一個基於Run-Length的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。
部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression ratio)。
二. 開發環境
.Window11
.Visual Studio Code - Python
.OpenCV 4.5.5
三. 程式說明
1. 讀取檔案
2. 將用split(),將圖片分成 B、G、R
3. 將B、G、R轉成一維陣列
4.
使用RLE
Example:[1,1,1,1,2,2,3] → [4,1,2,2,1,3]
5. 將RLE後的B、G、R 和長寬存入txt檔案
6. 計算壓縮率
7. 使用RLD 解壓縮
8. 使用reshape恢復原狀
9. Merge回原圖片
10. 儲存解壓縮的圖片
四. 執行結果
1. compression ratio of img1.bmp
2. compression ratio of img2.bmp
3. compression ratio of img3.bmp
4. 壓縮檔和解壓縮檔
沒有留言:
張貼留言