問題タブ [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.
c++ - IDCTマトリックスのブランチレス生成?
GPUでIDCTを実行するコードがいくつかあります。変換行列を事前に計算して定数メモリに入れるよりも、GPUでIDCT行列を生成する方が速いように思われることに気づきました。
問題は、IDCTマトリックスを生成するコードに、GPUにうまく適合しないブランチがあることです。
GPUでより高速なIDCTマトリックスを生成する別の方法があるかどうか疑問に思っていますか?
components - ファイルとコンポーネントのインベントリをあるチームサイト サーバーから別のチームサイト サーバーに移行するにはどうすればよいですか? (UNIX ボックス)
特定のファイル (およびコンポーネント) のリストがあります。基本的に、test と prod の 2 つの環境があります。新しいサイトはテストでセットアップされており、本番環境に移行する必要があります。
これを行う方法はありますか?また、この移行は UID (一意の ID/内部 ID) に影響しませんか?
python - Scipy (または他のライブラリ) の Python の matlab 'idealfilter' に相当するものはありますか?
Python用のMatlabに実装されている時系列のidealfilterに相当するものを探しています。
私の目標は、標準的なビデオから人間の心拍を取得するために、PythonのEulerian Video Magnification ペーパーで使用されているように、離散コサイン変換を使用して理想的なフィルターを実装することです。彼らのビデオを入力として使用し、バンドパス フィルター メソッドを実装しましたが、スクリプトで使用する理想的なフィルター メソッドを見つけることができませんでした。
彼らは、0.83 ~ 1.0Hz の DCT を使用して理想的なフィルターを実装すると述べています。
私の問題は、Matlab の Idealfilter がカットオフ周波数を入力として取り込むことですが、それが dct で実装されているとは思いません。
対照的に、scipy.fftpack にある DCT フィルターは、周波数カットオフを入力として取りません。
これらを何らかの形で連続して使用する必要がある場合は、お知らせください。
そのような同等の関数が存在する場合は、それを使用して、得られたものと同様の結果が得られるかどうかを確認したいと思います。
algorithm - C#でのDCT、DFTの簡潔な実装?
私は、C#で実装された離散コサイン変換と離散フーリエ変換のさまざまな実装を見てきましたが、私が望むほど簡潔なものはありません。
ボーナスポイントは、より大きなオープンソースプロジェクトから派生したコードです(つまり、試してテストしました)。
最良のポインタを使用した回答は、受け入れられた回答になります。
これまでに見つかった
- C#でのDCTの実装
- DCT&IDCT(著作権で保護されている、「テストされていない」、遅い)
- Aforge(十分に最適化されている)
PS:原則として、私は1D実装を探していますが、入力データの「ベクトル化」は簡単なので、従来の2D実装も同様に歓迎されます。
image-processing - 画像ハッシュ用の離散コサイン変換による柔軟性の向上
私は自分の画像に知覚ハッシュの概念を使用しています。基礎となる数学としてDCTを使用するとうまく機能します。
アスペクト比、明るさ、コントラスト、および色の変化に関連するほとんどのものなど、いくつかの「攻撃」と同じバーである画像によく一致します。
ただし、もう少し柔軟性を求めており、画像を使用して他の画像を検索し、類似した性質の画像を検索できるようにしたいと考えています。TinyEyeができることと同様
DCTは、画像(構造)の最低周波数を取得しています。この追加の柔軟性を私に与えることができる私がここでできることがありますか?
matlab - FFT なしの DCT 2D
Matlab で DCT (離散コサイン変換) を実装しようとしていますが、高速フーリエ変換を使用せずに、次の式を使用するだけです:
これは非効率的である可能性があることはわかっていますが、この方法でどのように機能するかがわかります。
まず、グレースケール イメージを 8x8 ブロックに分割し、次に各ブロックに数式を適用します。
私のdctII関数は次のようになります。
また、読みやすくするために合計関数も作成しました (少なくとも私にとっては)。
問題は、私のアルゴリズムの結果が、Matlab のビルド済み関数dct2の結果とは大きく異なることです。たぶん、DCTアルゴリズムをまったく理解していませんでした。私が間違っていることを知っていますか?これらすべてのネストされたループがパフォーマンスを大幅に低下させることは知っていますが、FFTを使用せずにこれを解決する方法を想像できません。
どんな助けでも本当に感謝します、ありがとう。
c++ - DCT の入力値は?
だから私は簡単な bmp から jpeg への画像変換プログラムを書こうとしています。ご存じかもしれませんが、jpeg 圧縮、DCT、量子化、およびエントロピー エンコーディングには、3 つの主要なステップが含まれます。これらの各中間段階で計算された値をファイルに書き込みたいと思います。
私の質問は、各ピクセルの RGB 値を YUV 形式に変換し、それを 3 つの別々の 2-D 配列に格納した後です。DCT はこれらの配列のそれぞれで計算されますか? したがって、DCT が適用された 3 つの異なるアレイが得られますか? それが正しければ、次のステップは、Y、U、および V に対応する各配列を量子化することです。次に、これらの 2 次元配列のそれぞれにエントロピー エンコーディングを適用する必要があります。
これらの 3 つの配列は、.jpeg ファイルとして読み取ることができるように、どのように結合/ファイルに書き込まれますか?
c - libJPEG を使用して DCT 係数と量子化値にアクセスする
ビットマップ ファイルを読み込んで、libJPEG ライブラリを使用して JPEG ファイルに圧縮しています。しかし今は、中間段階、つまり DCT と量子化のそれぞれを圧縮中にファイルに書き込みたいと考えています。とにかくこれを行うことはありますか?
cuda - CUDA DCTは、blockDim.xが1の場合にのみ機能します
私はCUDAを学び始めたばかりで、非常に基本的なことしか知りません。行列乗算法を使用して8x8DCTを実行するCUDAプログラムを開発しようとしています。8x8 DCT係数行列Dが計算され、DCT変換はD'ADになります。各スレッドは1つのデータポイントを計算し、各ブロックは8x8です。シーケンシャルDCTを作成し、結果を出力ファイルで比較しました。
ここに問題があります。ブロック数が1xNの場合、すべてが正常に機能します。ブロック数がMxNの場合(Mは1より大きい任意の数)、カーネルは間違った結果を出します。問題はブロックのインデックス作成にあるはずだと思いますが、問題を見つけることができませんでした。
誰か助けてもらえますか?非常に基本的なプログラムであることは知っていますが、本当に必要です。コメントをいただければ幸いです。前もって感謝します!
ios - JPEGがiOSフォトライブラリに保存された後、DCT係数が変更されました
JPEG画像をiOSフォトライブラリに保存するときに奇妙な変更があります。何か間違ったことをしているのかわかりません。libjpeg-turboを使用してJPEG画像にアクセスしてから、画像のDCT係数を変更しています。変更された画像(DCTだけで、他には何もありません)はフォトライブラリに保存されます。しかし、保存した画像を開いた後、DCT係数は前の手順で変更したものと同じではありません。
詳細に、各DCTに+1を追加する方法を説明します。libjpegライブラリの「example.c」の標準的な手順を使用しています。
この後、新しいJPEG画像をファイルに保存します。たとえば「new.jpg」としましょう。次に、この「new.jpg」をフォトライブラリに保存したいので、次の方法で画像をロードします。
また、DCT係数が変更されたままであることを確認しました。修正離散コサイン変換で同じ画像をチェックしたら、それを保存します。
画像「new.jpg」がフォトライブラリに保存されました。
これまでは、すべてがうまく機能し、DCT係数はlibjpegライブラリで意図されていたように機能します。保存した画像を再度ロードしてDCT係数を調べると、変更が発生します。DCTが変更されていることがわかりましたが、その理由はわかりません。JPEG画像を保存するときにiOSが使用する最適化アルゴリズムはありますか?DCTが変更されるのはなぜですか。
保存した画像を読み取るために、次の手順を使用しています。
さらに、これは元のDCTの例であり、すべてに+1を追加してDCTを変更し、1つの8x8ブロックのフォトライブラリに保存した後にDCTをロードしました。
どんな助けでもいただければ幸いです。画像をフォトライブラリに保存した後のDCTが変更されたのはなぜですか。