問題タブ [wavelet-transform]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
steganography - LSB 置換ステガノグラフィで DWT を使用する方法
ステガノグラフィでは、最下位ビット (LSB) 置換法により、画像ピクセルなどのカバー メディアからのビットの代わりに秘密ビットが埋め込まれます。一部の方法では、画像の離散ウェーブレット変換(DWT) が行われ、秘密ビットが DWT 係数に埋め込まれます。その後、逆変換を使用してステゴ画像が再構築されます。
ただし、DWT は float 係数を生成し、LSB 置換法には整数値が必要です。私が読んだほとんどの論文は 2D Haar Wavelet を使用していますが、その方法論は明確ではありません。ローパスフィルターとハイパスフィルター(フロート変換)、またはペア値の合計と差、または平均と平均差などの観点から変換が定義されているのを見てきました。
より明示的には、順変換または逆変換のいずれかで (ただし、使用される式によっては必ずしも両方であるとは限りません)、最終的に浮動小数点数が表示されます。置換が機能しないため、係数用にそれらを使用することはできません。また、画像はストレージに整数値を必要とするため、再構成されたピクセル用にそれらを使用することもできません。
たとえば、ピクセルのペアを 1D 配列として考えてみましょA
うB
。低周波係数は和、つまり で定義され、高周波係数はs = A + B
差、つまり で定義されd = A - B
ます。B = (s - d) / 2
次に、とを使用して元のピクセルを再構築できA = s - B
ます。ただし、係数を少しいじった後は、s - d
もはや偶数ではない可能性があり、再構成されたピクセルに対して float 値が出現します。
2D の場合、1D 変換は行と列に別々に適用されるため、最終的にどこかで 4 による除算が発生します。これにより、浮動小数点の剰余が .00、.25、.50、および .75 の値になる可能性があります。私は、この問題を扱っている論文を 1 つだけ見つけました。残りの方法論は非常に曖昧であり、私はそれらを再現するのに苦労しています. しかし、DWT はイメージ ステガノグラフィのために広く実装されています。
私の質問は、私が読んだ文献のいくつかは啓発的ではなかったので、どうしてこれが可能になるのでしょうか? float 値を導入する変換をどのように使用できますか?
matlab - 定常ウェーブレット変換の係数を変数の列に含めるにはどうすればよいですか?
定常ウェーブレット変換をセル配列のいくつかの係数に適用しようとしていますが、そうすると、列ではなく変数に格納された係数の行になってしまいます。係数が列だけに含まれているDWTで同様のことを行ってきましたが、これはうまくいきました.SWTの係数も列に含まれることを期待していましたが、残念ながらそうではありません. これがなぜなのか誰か知っていますか?
ここに私が使用している関数があります:
[L1,H1] = swt(f{1},1,'haar');
行ではなく列に含まれる係数を取得する方法を知っている人はいますか?
python - このウェーブレット変換の実装は正しいですか?
Python でスペクトログラム アナライザーを作成するために、FFT に代わるものを探しています。ウェーブレット変換は、短時間 FFT よりも高速で時間精度が高いと聞きました。Java での Haar ウェーブレット変換の実装を取り上げたこのウィキペディアの記事に行きました。
https://en.wikipedia.org/wiki/Discrete_wavelet_transform#Code_example
残酷にpythonに変換しましたが、取得している値が正しいかどうかわかりません。誰か確認できますか?
結果:
signal-processing - DWT 係数を計算して脳波信号のノイズを除去する
今、私はEEG信号のノイズを除去したいです.EEG信号(2048係数)があり、Daubechies4を実行した後、2048係数も取得します.詳細を決定し、その上で係数を概算する方法を知りたいです.daubechies4は4レベルのdaubechiesですまたはdaubechies4関数で1レベル?本当にありがとう。これについて私に役立つチュートリアルはありますか?
signal-processing - Daubechies 関数を使用して EEG 信号のノイズを除去する
EEG信号があり、まばたきアーティファクトが含まれています。いくつかの参考文献を読んで、ウェーブレット変換を使用してまばたきを検出して削除できることを知っていますが、どのように行うのかわかりません。まばたきを検出する方法は? EEG信号をウェーブレット係数に変換した後、私は何をすべきか、どのレベルのdaubechiesを使用してそれを行うことができますか? ありがとうございました!
r - 時系列のウェーブレット再構成
Morlet のウェーブレット変換から元の時系列を再構築しようとしています。私はR、パッケージRwave、関数cwtで作業しています。この関数の結果は、複素数値を含む n*m (n=期間、m=時間) の行列です。
信号を再構築するために、 Torrence & Compo classic textの式 (11) を使用しましたが、結果は元の信号とは何の関係もありません。私はウェーブレット変換の実部とスケールの間の分割に特に関心があります。このステップは結果を完全に歪めます。一方、すべてのスケールで実数部分を合計すると、結果は元の時系列に非常に似ていますが、値がわずかに広くなります (元の系列の範囲は ~ [-0.2, 0.5]、再構築された系列の範囲は~ [-0.4,0.7])。
元の時系列を再構築するための実用的な手順、式、またはアルゴリズムについて誰かが教えてくれるかどうか疑問に思っています。Torrence と Compo (1998)、Farge (1992) などの論文を読んだことがありますが、それらはすべて異なる公式で書かれていますが、実際に助けてくれる人は誰もいません。
image - 画像の各行の CWT をセルに格納する
480X480 画像の各行の morlet ウェーブレットを計算したいと思います。2次元配列(行列)である各行の変換の出力を保存する必要があります。
次に、平均の最終プロットを取得する必要がある 480 個の 2 次元行列すべての平均を取得します。
ここで、480 係数行列の平均を取りたいと思います。ここでエラーが発生しています
double から cell への変換はできません。
土壌波のエラー (12 行目) coefs(i) = cwt(K,1:128,'morl');
誰かがより良い方法を提案したり、これを微調整したりできますか。
c++ - ソフトしきい値による 2d Haar ウェーブレット変換を使用した画像のノイズ除去 (C++)
Haar 変換による基本的な 2D ウェーブレット変換の 1 つを実装しようとしています。
これを画像のノイズ除去問題に適用しました。
復元された結果には、いくつかの黒いブロックといくつかの白いブロックがあります。
正規化せずにソフトしきい値の部分にこだわったと思います。
これが私のコードです:
これどうやってするの ?