問題タブ [convolution]

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 投票する
1 に答える
5966 参照

android - Android Renderscriptで畳み込み乗算を作成するには?

Android Renderscript は初めてです。最終的なアプリケーションは Android で実行されるため、RenderScript で畳み込み乗算を記述する必要があります。データストリームは画像になります。より具体的には、forEach 機能を使用してコア ロジックを作成することはできません。Java で作成することはできますが、速度が遅すぎます。助けてください!スティーブ

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

c++ - CUDA スモール カーネル 2D 畳み込み - やり方

500x500 の画像 (ただし、サイズを変更することもできます) と非常に小さな 2D カーネル (ラプラシアン 2D カーネルなので、3x3 カーネルです。小さすぎる) の間で高速な 2D 畳み込みを実行するために、CUDA カーネルを数日間試してきました。すべての cuda スレッドで大きなアドバンテージを得るために)。

CPU の従来の実装 (2 つの for ループ、ご想像のとおり簡単です) を作成してから、CUDA カーネルの作成を開始しました。

より高速な畳み込みを実行するためのいくつかの残念な試みの後、私はこのコードに行き着きました: http://www.evl.uic.edu/sjames/cs525/final.html (共有メモリのセクションを参照)。共有メモリに必要なすべての畳み込みデータをブロックロードし、畳み込みを実行します。

何もありません、CPUはまだずっと高速です。CUDA SDK は、大きなカーネル サイズで効率的であると述べているため、FFT アプローチは試しませんでした。

私が書いたものをすべて読んだかどうかにかかわらず、私の質問は次のとおりです。

CUDA を使用して、比較的大きな画像と非常に小さなカーネル (3x3) の間で高速な 2D 畳み込みを実行するにはどうすればよいですか?

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

matlab - isあります opencvには、matlab conv2と同等の関数があります

matlab関数conv2に直接opencv関数はありますか? cvFilter2D() を使用してみましたが、conv2() とは異なる結果が得られているようです。

例えば:

私を助けてください.それは私にとって非常に便利です.ありがとう.

よろしく

アランガラジャン。

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

matlab - 行列の値を、MATLAB のより小さい行列から抽出された平均値に置き換えます

10 x 10マトリックスがあるとしましょう。次に、マトリックスを使用して3 x 3マトリックス全体を反復処理し (簡単にするためにエッジを除く)、このマトリックスからこの空間3 x 3の平均/平均値を取得します。3 x 3次にやりたいことは、元のマトリックス値をそれらの新しい平均/平均値に置き換えることです。

誰かが私にそれを行う方法を説明してもらえますか? いくつかのコード例をいただければ幸いです。

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

iphone - iPhoneでOpenCVのパフォーマンスを向上させるにはどうすればよいですか?

AVFoundation を使用してビデオをキャプチャし、OpenCV を使用して iPhone で画像処理を行っています。ただし、OpenGL シェーダーを使用して 192x144 グレースケール イメージで計算 (畳み込み) を行うことを検討しています。

私の質問は次のとおりです: OpenGL を使用するのは理にかなっていますか? つまり、IplImage へのレンダリングが遅すぎませんか (可能ですか?)。または、畳み込みを高速化する方法はありますか?

編集

OpenCVでは、私は使用しています

cvMorphologyEx

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

objective-c - 処理用のデータ画像を取得するための最良の方法

uiimageからデータを取得してRGB値を読み取りたい。このデータを畳み込みフィルターに使用したいと思います。インターネットで私はただ一つの方法を見つけました:

大丈夫ですが、[x] [y] [r、b、g]のような配列のピクセルを操作したいと思います。

どうすれば解決できますか?

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

php - 画像畳み込み関数を使用して強いぼかしを作成する方法

PHP 関数 image convolution を使用して、本当にぼやけた画像を作成しようとしています。この画像は、スライダーの画像の背後にある背景として使用されます。

イメージ フィルタを使用してみましたが、ガウスぼかしと選択的ぼかしは非常に軽く、ぼかしを変更することはできません。

これは、ぼかしを作成するために現在使用しているコードですが、実際には画像を十分にぼかしていません。

より強いぼかしを作成するには、Matrix 配列のより良い数式が必要です。

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

cuda - CUDA2Dコンボリューションカーネル

私はCUDAの初心者であり、SobelEdge検出カーネルを実装しようとしています。このコードを使用していますが、機能しません。誰かがそれの何が悪いのか教えてもらえますか?-1と非常に大きな値を取得します。

私はこのカーネルを次のように呼んでいます:

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

matlab - オーバーラップ保存を使用したバッファー付きブロック畳み込み

そのため、現在、matlab でブロック畳み込みのオーバーラップ保存方法を実装していますが、そうするのに問題があります。

私の実装では、入力データをベクトルでリアルタイム処理するために、バッファリングされた入力を使用しています。入力はオーバーラップ保存クラスのインスタンスに供給され、事前定義されたブロック長 (フィルター長よりも大きい) よりも多くの入力でバッファーがいっぱいになると、入力はチャンク (ブロック長のサイズ) で処理されます。バッファ内のデータの長さがブロックの長さよりも小さくなるまで、標準のオーバーラップ保存アルゴリズムを使用します。その後、待機してさらにデータが入ってくるのを待ち、プロセスを繰り返します。

すべてが正常に機能しているように見えますが、問題は、すべての入力がクラスに渡された後にバッファをフラッシュすることです。フラッシュ メソッドが呼び出されると、バッファ内のデータは常にブロック サイズよりも少なく、残りのデータの処理に問題があります。

クラスが通常のデータを処理した後、後続のデータのアルゴリズムの「重複」部分を維持するために、入力から最後の N-1 (N はフィルターの長さ) のデータ ポイントを保持することにも注意してください。または最終フラッシュ。

私の質問は、flush() が呼び出されたときにバッファ内の残りのデータをどのように処理すればよいですか? 単純にゼロパディングしてフィルターで畳み込みを試みましたが、ガベージ出力が生成されます...何か提案はありますか?

注: フラッシュの出力は、通常のデータ ブロックの処理の出力に追加する必要があり、この新しい出力は、matlab の conv(input, filter) の出力と一致する必要があります。

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

python - 畳み込みマスクによる勾配計算

行列の勾配を計算する必要があり(3,3)ますa=array([[1,4,2],[6,2,4],[7,5,1]])

私は単に使用します:

行列の勾配を計算する方法は、各方向のマスクを使用した畳み込みであることは知っていますが、結果は異なります

エラーはどこにありますか?