c# を使用した 1 レベル 5/3 離散 Haar ウェーブレット変換 (DWT) ソース コードのヘルプが必要です。
私はこのプロジェクトを使用しており、前方ウェーブレット変換の方法は次のとおりです。
FWT(double[] data)
{
int h = data.Length >> 1;
for (int i = 0; i < h; i++)
{
int k = (i << 1);
temp[i] = data[k] * s0 + data[k + 1] * s1;
temp[i + h] = data[k] * w0 + data[k + 1] * w1;
}
}
FWT(double[,] data)
{
for (int k = 0; k < 1; k++)
{
for (int i = 0; i < rows / (k+1); i++)
{
for (int j = 0; j < row.Length / (k+1); j++)
row[j] = data[i, j];
FWT(row);
for (int j = 0; j < row.Length / (k+1); j++)
data[i, j] = row[j];
}
for (int j = 0; j < cols / (k+1); j++)
{
for (int i = 0; i < col.Length / (k+1); i++)
col[i] = data[i, j];
FWT(col);
for (int i = 0; i < col.Length / (k+1); i++)
data[i, j] = col[i];
}
}
}
w0 = 0.5; w1 = -0.5;s0 = 0.5;s1 = 0.5;
論文でこのトピックについて検索しましたが、5/3 または 9/7 ウェーブレット フィルターのアルゴリズムがわかりません。このコードを変更するにはどうすればよいですか? どんな助けでも大歓迎です