s1081402 作業6
開發環境:Python 3.9.13, macOS 13.2.1, OpenCV 4.7.0
功能:附件中為三張利用將晶片高度色彩視覺化後的圖片。請設計一個基於Run Length 的壓縮方法,對圖檔座無失真壓縮後儲存成新檔案。部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率。
說明:
首先,讀取照片並使用split()函數將其分離為R、G、B三個通道。並將每個通道轉換為NumPy數組,並將數據展平為一維數組。
得到了展平後的R、G、B通道數組(r_data、g_data、b_data),可以使用RLE算法對這些數組做encode進行壓縮。
再將壓縮後的數據做decode,並取得原圖的圖片長寬,最後再將decode後的數據重新組合成圖片並轉成PIL圖片儲存。
最後,輸出圖片大小並計算平均壓縮量。
split function
留言
張貼留言