2022年6月2日 星期四

 s1081523 作業6

作業說明:

 離散傅立葉轉換 DFT練習

 

Run-Length Based Image Compression練習

 

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

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

 

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

開發環境: 

·     Windows 10

·     Visual Studio 2019

·     OpenCV 4.5.5

·     Python 3.10

 

實作方法:

1.      先用imread()讀取圖片

2.      然後將圖片的b,   g,    r轉換為一維陣列

3.      根據Run-Length壓所方法,進行編碼,分別算出b, g, r的壓縮率再做平均

4.      寫成txt檔匯出(我的電腦怪怪的,有303800筆資料它輸出到26萬多就會自己斷掉,導致後面list out of index),故我先不做寫出讀入檔案,而是以原本存好的list再做解壓縮。

5.      利用reshape把原圖的長寬值取出並重新輸出成圖片,並算出三張圖平均壓縮率。

 

執行結果:

一張含有 文字 的圖片

自動產生的描述

平均壓縮率是7.2757002973%

  s1081523 作業6

作業說明:

 離散傅立葉轉換 DFT練習

 

Run-Length Based Image Compression練習

 

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

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

 

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

開發環境: 

·     Windows 10

·     Visual Studio 2019

·     OpenCV 4.5.5

·     Python 3.10

 

實作方法:

1.      先用imread()讀取圖片

2.      然後將圖片的b,   g,    r轉換為一維陣列

3.      根據Run-Length壓所方法,進行編碼,分別算出b, g, r的壓縮率再做平均

4.      寫成txt檔匯出(我的電腦怪怪的,有303800筆資料它輸出到26萬多就會自己斷掉,導致後面list out of index),故我先不做寫出讀入檔案,而是以原本存好的list再做解壓縮。

5.      利用reshape把原圖的長寬值取出並重新輸出成圖片,並算出三張圖平均壓縮率。

 

執行結果:


平均壓縮率是7.2757002973%

 




 

平均壓縮率是12.1327428197




平均壓縮率是6.94958132177



三張圖平均壓縮率是8.78600814626

 



 


沒有留言:

張貼留言