一、作業說明
附件中為三張利用將晶片高度以色彩視覺化後的圖片。
請設計一個基於Run-Length的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。
二、開發環境
Windows 10
Anaconda 4.10.3 + Visual Studio Code
OpenCv 4.5.5
三、實作方法
1. cv.imread讀取照片之後,將圖片的b, g, r三個channel都分割出來做Run Length Encoding,Run Length Encoding,假如照片第一Row為
(0,1,1,1,1,1,3)那就編碼成(1,0,5,1,1,3)。
2. 將b, g, r都編碼完畢之後依序寫入.txt檔案,這裡RLE編碼採用np.array
且dtype = np.uint8,因為0~255用8bit unsign表示。
3. 最後decode就按照RLE的方式還原b, g, r三個channel的資料,再merge成一張圖片
output 。
四、執行結果
比較compressed ratio
img1-decode
沒有留言:
張貼留言