問題タブ [dct]

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.

0 投票する
0 に答える
687 参照

java - JPEGのステガノグラフィー

JPEG 画像の .txt メッセージを非表示にする Java Steganography プロジェクトに取り組んでいます。大まかに言うと、次の 4 つのステップがあります。

  1. 各ピクセル ブロックを 8x8 DCT 係数に変換します。
  2. いくつかの複雑な計算で各ブロックを量子化します。
  3. メッセージの各ビットを各ブロックの係数の LSB に埋め込み/置換します。
  4. 埋め込み後、逆 DCT を実行して、メッセージが埋め込まれた JPEG 画像を再作成します。

メッセージを元に戻すために、変更した係数をメッセージで記録する方法がわからないため、3 番目のステップで行き詰まっています。

抽出するために、各係数を埋め込み、各埋め込みを記録する方法を誰かが推奨できますか?

これは大歓迎です。

(また、1と0、およびDC値をそのままにしておく必要があることも知っています)。

0 投票する
2 に答える
1604 参照

java - DCT を使用したステガノグラフィ

大まかに言えば、DCT を使用してメッセージを埋め込むには、次の 4 つの手順が必要です。

  1. 画像を 8x8 ブロックに分割します
  2. DCT 数学演算を使用して各ブロックを変換します
  3. 各 DCT ブロックを量子化 (非可逆圧縮)
  4. 量子化された係数からメッセージ ビットを埋め込む (0、1、-1、および AC を避ける)

それは問題ありませんが、データを元に戻す方法がわかりません。各係数の LSB を抽出するために、ステップ 1 ~ 3 を実行して各ブロックを量子化することを想定していますか?

その場合、損失の多い手法であるため、(埋め込まれたデータの可能性がある) データを失うことはありませんか?

また、各ブロックを量子化しようとすると、前の画像と同じ係数が残ります (LSB の変更が影響しなかったため)??

誰かがこの問題について教えてくれますか?

ありがとう

0 投票する
2 に答える
989 参照

java - Java での JPEG 画像の操作

クラスを使用しBufferedImageて画像をピクセルとして読み込み、ビットシフトを使用して適切なコンポーネントを個別の int 配列に取得します。これは正常に動作します。

この参照サイトを使用して、ピクセル配列で DCT 機能を手動で実行しました。

使用した方法: forwardDCT()quantitizeMatrix()dequantitzeMatrax()inverseDCT()

次に、結果の画像配列にフィードバックされて JPEG ファイルが再構築されます。次に、BufferedImage のwrite()メソッドを使用して、ピクセル データを画像として書き戻します。

これは完全に機能し、画像を表示できます。(視覚的に圧縮するために使用する値はさらに優れています)。

私の質問は、量子化係数を圧縮された値として JPEG として書き込む方法はありますか?

BufferedImage の write() メソッドは、係数データではなく、ピクセル データの入力に使用されるためですか?

これが明確であることを願っています。

ありがとう

0 投票する
1 に答える
6592 参照

performance - 行列 [NxM] の高速 DCT および IDCT のための単純なアルゴリズムを探しています。

任意のサイズ [NxM] の行列の高速DCT (タイプ 2) を実行する単純なアルゴリズムと、逆変換IDCT (DCT タイプ 3 とも呼ばれる) のアルゴリズムを探しています。

DCT-2D アルゴリズムが必要ですが、DCT-1D を使用して DCT-2D (および IDCT-1D を実装して IDCT-2D ) を実装できるため、DCT-1D アルゴリズムでも十分です。

PHP コードが望ましいですが、十分に明確なアルゴリズムであれば何でもかまいません。

DCT/IDCT を実装するための現在の PHP スクリプトは、行列のサイズが [200x200] を超えると非常に遅くなります。

[4000x4000] までの DCT を 20 秒以内に実行する方法を探していました。誰もそれを行う方法を知っていますか?

0 投票する
0 に答える
1523 参照

matlab - DCT係数に基づくステガノグラフィ

LSB を使用してステガノグラフィーを作成しようとしていますが、多くの黒いピクセルを含む画像が得られました。ゼロ未満の DCT 値を持つカバー画像ピクセルの LSB を置き換えています。画像に黒いピクセルが含まれている理由がわかりません。