2021年6月5日 星期六

s1063511 影像處理作業6

 作業題目:

附件中為三張利用將高度以色彩視覺化後的圖片。

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

部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression ratio)。


使用環境:

Windows 10

Python 3.9.2

opencv-python 4.4.0

numpy 1.20.1

實作方法:

加壓

1. 使用imread()讀圖片 2. 將圖片的資訊先讀出來(height,width) 3. 分別將RGB值分開存起來

4.再透過rle.encode()將RGB分別的list進行處理
5.處理完後寫成.3511檔分別寫入檔案名稱高度長度再來就是處理過後的RGBlist
6. 儲存

解壓

1. 使用open()讀檔案 2. 將圖片的資訊分別讀出來(檔案名稱,height,width) 3. 接著在使用迴圈將RGB進行rle.decode()

4.建立一張全白圖
5.將處理過後的RGBlist 覆蓋至全白圖上
6. 完成輸出
執行結果:
img1壓縮率 : 7.69/13.9 ~= 0.55







img2壓縮率 : 13.1/13.9 ~= 0.94







img3壓縮率 : 7.14/13.9 ~= 0.51




平均壓縮率 = (0.55+0.94+0.51)/3 = 0.66




沒有留言:

張貼留言