一、作業說明
附件中為三張利用將晶片高度以色彩視覺化後的圖片。
請設計一個基於Run-Length的壓縮法方,對圖檔作無失真壓縮後儲存成新檔案。
部落格上應敘述你的壓縮方法,提供壓縮檔之格式,並計算三張圖的平均壓縮率(compression ratio)。
二、開發環境
Windows
10
Anaconda
Jupyter Notebook 6.4.11
OpenCV
4.5.5
Python
3.7.13
三、實作方法
1.用input的方式輸入檔案名稱且得到檔案的大小
2.接著讀取圖片求出長 寬和channel
3.把不重複的顏色(B,G,R)新增到tmp
4.dictionary的方式將tmp裡面的color編號
{
key: value } -> { color id: [B,G,R] }
5.之後把所有的color數量顯示出來
6.儲存原本img的(B,G,R)經過get_key()轉換後的color id
7.自定義一個run_length_encoding()的function來計算
8.執行完run_length_encoding()的結果都寫到原檔名.txt的檔案中
9.計算壓縮檔的檔案大小 get_ratio()就可以算出壓縮率
10.當三張圖片都分別產生壓縮檔後就可以執行get_average()
四、執行結果
沒有留言:
張貼留言