2022年5月30日 星期一

s1080741作業6

 

一、作業說明

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

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

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


 二、開發環境

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

img2-decode
img3-decode








沒有留言:

張貼留言