信源編碼作業五

2021-08-03 14:46:46 字數 1351 閱讀 4558

1)trvqsp_img:獲得影象向量量化的碼書

呼叫引數格式:

trvqsp_img ts_img codefile [-b cb_size] [ -t block_height] [-w block_width] [-x row_size][-y col_size] [-h]

ts_img:是訓練影象,也即待量化壓縮的影象,假定為8位灰度級,使用光柵掃瞄順序儲存。

codefile:以二進位制格式存放碼書的檔案,有乙個包含12個位元組的檔案頭記錄:向量的維度,以及碼書的大小。

-b cb_size:碼書的大小

-t block_height:塊的高度(以畫素為單位)

-w block_width:塊的寬度(以畫素為單位)

實際上由block_width 、block_height決定著碼書向量的大小,也即每個輸出塊的大小。因此向量的維數是block_height *block_width

-x row_size:輸入影象的寬

-y col_size:輸入影象的高

-h 幫助

此處引數輸入可採用.bat檔案:

2)vqimg_enc:根據碼書對影象進行向量量化

呼叫格式:

vqimg_enc [-i imagein] [-o cmpfile] [-c codebook] [-x row_size] [-y col_size] [-h]

-i imagein:輸入的待編碼的影象檔名

-o cmpfile:輸出的量化壓縮後的檔名

-c cmpfile:碼書檔案

-x row_size:輸入影象的寬

-y col_size:輸入影象的高

-h 幫助

此處引數輸入可採用.bat檔案:

3)vqimg_dec:根據碼書檔案和壓縮後的檔案重構原始影象

呼叫格式:

vqimg_dec [-i cmpfile] [-o imageout] [-h]

-i cmpfile:壓縮檔案名

-o imageout:重建影象檔名

-h 幫助

此處引數輸入可採用.bat檔案:

測試結果:

信源編碼作業二

1.利用程式 huff enc 和huff dec 進行以下操作 在每種情況下,利用由被壓縮影象生成的碼本 a 對sena sensin 和omaha 影象進行編碼。b 編寫一段程式,得到相鄰畫素之差,然後利用 huffman 對差值影象進行編碼。給出以上每一次試驗得出的檔案大小,並解釋其差別。a ...

信源編碼(五)向量量化

這個程式可以用來訓練向量量化器。使用lbg演算法獲得影象壓縮碼書,初始化使用linde,buzo,and gray提出的分割方法。用作。這個專案可以 很長一段時間來執行特別是所需的大小 碼書很大。因此這是乙個好主意來執行 專案背景。影象的尺寸可以由使用者指定或者由程式直接獲得。但是image siz...

信源編碼 huffman編碼

1.對omaha.img sensin.img以及sena.img三個檔案先使用matlab程式設計求相鄰畫素之差,對差值進行huffman編碼以及解碼。得到以下的的結果。可以看出,用huffman編碼進行壓縮時,符號概率分布越不均勻,信源壓縮效果越好。進行差分處理後,各個檔案的信源符號分布概率成拉...