2021年6月6日 星期日

s1062036 影像處理作業6

 作業說明:

附件中為三張利用將高度以色彩視覺化後的圖片。請設計一個基於Run-Length的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。
部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression ratio)
 

 

操作環境:

window10

python 3.6

pycharm

openCV 4.5.2.52

 

程式說明:

Encoding:

    1.imread()讀取圖片

    2.split()切成rgb通道  

    3.flatten()將rgb轉成1D array

    4.利用Run-Length編碼

    5.分別將rgb的list串接起來且前五項存起來

    6.輸出listimg_compress.2036

 

Decoding:

    1.open()讀取.2036

    2.將rgb資訊分別存入list

    3.利用Run-Length的方式解碼

    4.np.array()list轉成array並改為uint8

    5.reshape()array轉成(height, width, channel)

    6.merge()將rgb合併成img

    7.imwrite()輸出


執行結果:




壓縮率:8,074,099/14,665,254=0.55



壓縮率:13,789,356/14,665,254=0.94

 


壓縮率:7,488,796/14,665,254=0.51


沒有留言:

張貼留言