s1091533 作業6

作業6說明

題目:

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


開發環境:

Windows 10 + Visual Studio Code + OpenCV 4.7.0 + Python


程式說明:

1.編碼: run_length_encode()

Run-Length 的編碼方法:

有一序列[1,1,2,2,2,3,3,3,3,4],用 Run-Length 的壓縮方法進行壓縮,結果為[(1,2),(2,3),(3,4),(4,1)],表示序列有連續兩個1,連續三個2,連續四個3,連續一個4。


2.解碼: run_length_decode()

3.壓縮圖片: compress_image()

4.解壓縮圖片: decompress_image()

5.讀取圖片: cv2.imread()

6.計算平均壓縮率:
average_compression_ratio = 
(len(compressed_data1) + len(compressed_data2) +len(compressed_data3)) / (img1.size + img2.size + img3.size)


Demo:




結果:





留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1091537 Homework #1