2014年3月29日 星期六

Absolute Moment Block Truncation Coding (AMBTC) by Matlab

在BTC中需要利用標準差(變異數)來求取a、b二值,需要複雜的開根號及較多的乘除運算。AMBTC改用平均值來取代標準差,增進運算效能,而且有更好的還原品質。

上篇文章中,已經詳列了BTC的程式碼,現在只要修改關於a、b二值的程式碼即可,程式如下:



只有在第16、17行略有不同外,其它都與BTC程式相同。

↓在MATLAB執行情形

↓在Octave執行的情形

 無論在MATLAB,還是OCTAVE,兩者的結果相同。

BTC 與 AMBTC 的比較: imbtc4, imbtc8, imbtc16 皆為利用BTC壓縮後還原的影像,其區塊大小各為4x4, 8x8, 16x16;同理imambtc4, imambtc8, imambtc16 皆為利用AMBTC壓縮後還原的影像,其區塊大小各為4x4, 8x8, 16x16。比較兩者與原圖間的MSE, MAE 及PSNR,結果AMBTC都比BTC要好。

↓ BTC 與 AMBTC 在 LENA 上的比較(使用OCTAVE)

--- END ---

沒有留言:

張貼留言