問題タブ [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.
python - opencvを使用してPythonで画像のdctを取得する方法
私は画像のDCTを取得する方法を見つけようとしてきました。画像を取得して一連のフィルタリングを行った後、DCTを計算したいと思います。コードスニプレットは次のとおりです。
私はここで与えられた説明をいじってみましたが、成功しませんでした。私が次のようなことを試したとき:
次のようなエラーが発生します:
エラーから理解できることは、入力が32ビット浮動小数点ではなく8ビットであるということです。どうすれば変換して32ビット浮動小数点として渡すことができますか?問題はよくわかりません。よろしくお願いします。DCTを取得するにはどうすればよいですか?私はopenCVとpythonにかなり慣れていません。同じトピックで他の2/3スレッドを検索しましたが、機能しませんでした。
fft - ビデオ/画像圧縮で他の変換よりも DCT 変換が好まれる理由
画像およびビデオの圧縮規格で DCT (離散コサイン変換) がどのように使用されているかを説明しました。
しかし、なぜ dft や dst などの他の変換よりも DCT のみが好まれるのでしょうか?
java - Java の離散コサイン変換ライブラリ
対数時間でDCTを計算するJavaのDCTライブラリはありますか? DCTはFFTアルゴリズムで計算できると読んだので、dctには対数時間アルゴリズムもあるはずです。
c++ - ロフラーのバージョンのフォワード DCT のこの実装が機能しないのはなぜですか?
Loeffler のバージョンの 1D DCT を実装しようとしていますが、結果はありません... フロー ダイアグラムに示されている操作のチェーンに従いましたが、画像が白くなりました :( 何が間違っているのでしょうか?
ダイアグラム:
コード:
含む
Lena の pic 64 x 64 ピクセルの結果:
opencv - FFTW fftwf_plan_r2r_2d() と同等の FFTW_REDFT01
FFTW を使用するコードを KissFFT を使用するように移植しようとしています。
コードはfftwf_plan_r2r_2d()
with をFFTW_REDFT01
使用します。
KissFFT での同等の呼び出しは何ですか?
この呼び出し ( with ) が DCT と同等である場合、代わりにOpenCVFFTW_REDFT01
などの直接 DCT 変換を使用できますか?
反射や対称化など、必要な入力データの変更はありますか?cv::dct
c# - 離散コサイン変換 C#
C# で DCT を実行できるプログラムを作成しました。
これは私のコードです:
この部分は、c[0,0] DCT を取得することです。
そして、この部分は、平均画像 DC DCT 係数を取得することです。
問題はメインプログラムにあります。x = exp(- ((miuN - miu)^2)) のように指数関数を計算したいのですが、私のプログラムは常に 0 を返します。
これは、メイン プログラムのコードです。
誰でもこの問題を解決するのを手伝ってもらえますか? ありがとう!
math - 「八の法則」とは?
JPEG の進化に関するこのドキュメントを調べているときに、上記のドキュメントのセクション 7.3 で「8 の法則」に出くわしました。
SmartScale 拡張により 1 から 16 までの他のブロック サイズが導入されたにもかかわらず、元の JPEG 規格の固定サイズ 8 を超えて、8 のブロック サイズが依然としてデフォルト値であり、他のすべてのサイズの DCT が標準の 8x8 DCT を基準にスケーリングされます。
「<strong>8 の法則」は、なぜサイズ 8 が DCT サイズの正しいデフォルトおよび基準値であるかを説明しています。
私の質問は
この「八の法則」とは一体何なのでしょうか?
歴史的に、サンプルからの多数の画像を評価して、DCT を使用した圧縮技術をサポートするのに十分な冗長データが8x8画像ブロックに含まれているという結論に達する研究が行われましたか? 8M(4Kx4K) のような非常に大きな画像サイズがほとんどのデジタル画像/ビデオで急速に標準になっていますが、この仮定はまだ有効ですか?
マクロ ブロックを 8x8 に制限するもう 1 つの歴史的な理由は、より大きなマクロ ブロックの計算上、画像データ サイズが非常に大きくなることです。最新のスーパースカラー アーキテクチャ (CUDA など) では、その制限は適用されなくなりました。
以前の同様の質問が存在します- 1、2、および3。しかし、この神秘的な基本的な「 8の法則」への詳細/リンク/参照について気にする人は誰もいません.
1. 8x8 マクロ ブロックが最適であることの有効性をテストするために、非常に大きなサイズの画像を含む最新のデータセットでそれを繰り返したいので、元の研究の参照/抜粋/詳細は高く評価されます。
2. 同様の研究が最近実施された場合は、それへの言及も歓迎します。
3. SmartScaleが物議を醸していることは理解しています。明確な潜在的な利点はありませんが1、せいぜい jpeg 標準の他の下位互換拡張機能と同等です2。私の目標は、DCT ブロック サイズ (JPEG 画像圧縮標準) として 8x8 を選択した元の理由が依然として関連しているかどうかを理解することです。そのため、8 の法則が何であるかを知る必要があります。
image - matlab で DCT2D を使用している画像圧縮コードのエラー
既に存在するプログラムを修正しようとしていますが、常にこのエラーが発生します " Error in ==> DCT1 at 254 decm_eq BIN2DEC = ([I_runcode (a, b) code (1 + m * (c_indx-1). M * c_indx) DEC2BIN (0 bpp_diff)]). "どうすればよいかわかりません。私を助けてください