s1081629 作業6

 

主題: Run-Length Based Image Compression 練習

一、 題目說明:

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


二、開發環境:

OS: Windows 10 

Visual Studio Code

Python 3.11.2 

opencv-4.7.0.72

numpy 1.24.2


三、實作辦法:

Step1 . 將圖片使用 cv.imread()函式讀入

Step2. 使用RLE演算法,以x軸為單位,將每一行連續得的素段添加到壓縮數據中,對圖像進行壓縮。

Step3.  根據壓縮數據填充像素值。

Step4.  儲存壓縮後的圖片,以.png格式存取,並讀取壓縮前後圖片大小,計算壓縮率並輸出。

三、實作成果:
左邊圖像為原圖,右邊圖像為壓縮後的圖片,圖片下方呈現計算後的壓縮率。

(a)

Compression ratio: 10.898219158536802

(b)

Compression ratio: 7.772166322008549
(c)

Compression ratio: 11.095683766762402



留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1091537 Homework #1