星期日, 11月 27, 2005

BTC 程式 原理

BTC的運作方式,以下由程式碼轉成一般人能看的語言

首先 要決定區塊大小 實驗中以 4 * 4 為單位

然後抽取影像中的4x4區塊 而且會重疊

抽取之後,取其所有元素的平均值 sum()/16;

將區塊大於平均值的數設為1小於的數設為0並型成一個 "1的位元矩陣".
在將其中有1的值加總後得到一個值k
1位元矩陣乘上原始區塊並加總之後除以K就可以得到屬於1的"平均數"

在將"1的位元矩陣"取反閘(not)之後 就可以得到 "0的位原矩陣"
在求0位元矩陣乘上原始區塊並加總之後除以K就可以得到屬於0的"平均數"

在製造三個舉陣
m_H 存放1的平均數
m_L 存放0的平均數

matrice存放"1的位元矩陣"最後會的到和原影像相同大小 "1的位元矩陣"

即完成壓縮

解壓縮就以"位元矩陣"乘上m_H or m_L的平均數 即會還原影像.

4 則留言:

Howard Hu 提到...

可以寫個程式碼讓我比較好對照嗎?

kang 提到...

請問你哪位阿?

gg 提到...

可以給個實驗結果讓我比較好跟一樓的程式碼對照嗎?

kang 提到...

實驗結果 要翻一下了 不過和書上結果一樣 看書上就好啦
這邊寫的 只是 把書上寫的演算法稍稍說明