私は画像処理に取り組んでおり、Matlabのconv2と同等のC++ OpenCVを知る必要があります。
私はthis linkを見つけましたが、私の要求に合っていません。opencvのConv2
私が直面している問題は、上記のリンクでは示されていない2-Dダブル配列でMat画像を畳み込む必要があるということです。
MathWorks社のMATLABコードは次のとおりです。
Mx = {
{0, 0, 0, 0, 0, 0} ,
{0, -0.0003, -0.0035, 0, 0.0035, 0.0003} ,
{0, -0.0090, -0.0903, 0, 0.0903, 0.0090} ,
{0, -0.0229, -0.2292, 0, 0.2292, 0.0229} ,
{0, -0.0090, -0.0903, 0, 0.0903, 0.0090} ,
{0, -0.0003, -0.0035, 0, 0.0035, 0.0003}
};
ありがとう
img = conv2(img1,Mx,'same')
。
しかし、私聞こえますが、Filter2Dは畳み込みではなく相関を行いますか? – RAM
いいえ、OpenCVのドキュメントから: "filter2D - イメージをカーネルと畳み込む" – drorco
しかし、同じドキュメントでは、「関数は実際には相関を計算するのではなく、畳み込みを計算します。つまり、カーネルはアンカーポイントの周りにミラーリングされません。実際の畳み込みが必要な場合は、 )、新しいアンカーを(kernel.cols - anchor.x - 1、kernel.rows - anchor.y - 1)に設定してください。 " これはどうですか? – RAM