s1061549 作業6

 1112 Digital Image Processing Assignment #6

Run-Length Based Image Compression 練習

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

開發環境

-windows 10
-visual studio 2022 c++
-opencv 4.7.0

作業說明

runLengthEncoding 函數:進行圖像的壓縮。讀取圖像的每個像素,並檢查每個像素是否與前一個像素的顏色相同。如果是,增加計數;如果不是,會將計數和前一個像素的顏色作為一對數據添加到壓縮結果中,並將計數重設為1。

writeToFile 函數:將壓縮結果(runLengthEncoding 的輸出)寫入二進位檔案。

getFileSize 函數:讀取一個檔案並返回大小。通過將檔案的讀取位置設置到檔案的結尾,然後讀取這個位置來得到檔案大小的。

main 函數:對指定的圖片進行 RLE 壓縮,計算每張圖片的原始大小、壓縮後大小和壓縮率,最後計算平均壓縮率。
double compressionRatio = (double)(originalSize - compressedSize) / originalSize; 計算壓縮率

壓縮後











留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1061637 作業6