2021年6月6日 星期日

s1073315 影像處理作業 6

 作業內容:

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

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

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

 

Coding環境:

l   Windows 10 2004

l   Visual Studio Code 1.54.1

l   Anaconda 4.8.3

l   Python 3.9.1

l   OpenCV 4.5.1

 

程式說明:

        Encode

1.          讀取.bmp

2.          分別處理每個通道的數值,並分別儲存

3.          Height, Width, Channels等資訊做為Header輸出

4.          將各個通道的資料個別輸出一行寫入.3315

Decode

1.          讀取.3315

2.          先讀取Header

3.          根據Header的資訊逐行讀取每個通道的資料

4.          根據Header的資訊還原成Height * Width的圖片

5.          輸出成.bmp

Compression ratio

1.       img1.bmp 7.69/13.9*100%     = 55.32%

2.       img2.bmp 13.1/13.9*100%     = 94.24%

3.       img3.bmp 7.14/13.9*100%     = 51.36%

4.       平均66.97%

 

 

 


處理結果:

 

Img1.bmp壓縮前後對比





Img2.bmp壓縮前後對比




Img3.bmp壓縮前後對比


沒有留言:

張貼留言