2021年6月6日 星期日

s1071648 影像處理作業6

作業說明:

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

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

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

環境/語言:

PyCharm 2019.3.3

Window 10

Python 3.6

實作方法:

壓縮:

1.  先讀取bmp檔的widthheight,並儲存起來

2.  RGB通道分離,reshape1D

3.  RLE,儲存為[重複的值1,重複次數1,重複的值2,重複次數2, …]

4.  儲存成.1648

 

解壓縮:

1.  Open讀檔

2.  將檔案內容還原成RGB三個分別的一維陣列

3.  RGB按照原圖 width,height reshape 成 2D array

4.  再將RGB merge


執行結果:

3個影像平均壓縮率: (58+97+55)/ 3 = 70%

              

img1 壓縮率: 8337/14322 = 0.58 = 58%



img2 壓縮率: 13901/14322 = 0.97 = 97%

img3 壓縮率: 7963/14322 = 0.55 = 55%




沒有留言:

張貼留言