0

Emgu を使用して、円の形をした (塗りつぶされていない) カーネルでイメージをたたみ込みたいと考えています。私のニーズに合った ConvolutionKernelF を見つけました(emgucv の Gaussian Noise)。

このカーネルで円を描く方法を知っている人はいますか? つまり、アンチエイリアスなしです。循環カーネルで畳み込みを行う別の簡単な方法も高く評価されています。

私はこれを試しました:

Image<Gray, float> kernel = new Image<Gray, float>(radius * 2 + 1, radius * 2 + 1);
kernel.Draw(new CircleF(new Point(radius, radius), radius), new Gray(1.0), 1);
ConvolutionKernelF ckernel = new ConvolutionKernelF(kernel.Data); // error
kernel.CopyTo(ckernel);

残念ながら、3 番目のステートメントから次のことがわかります。

Argument 1: cannot convert from 'float[*,*,*]' to 'float[*,*]'

さらに、あまり効率的ではないようです。

乾杯、

トム

4

1 に答える 1

0

わかりました、私はこのようにしました:

Image<Gray, float> kernel = new Image<Gray, float>(radius * 2 + 1, radius * 2 + 1);
kernel.Draw(new CircleF(new Point(radius, radius), radius), new Gray(1.0), 1);
CvInvoke.cvFilter2D(A, B, kernel, new Point(-1, -1));
于 2013-05-07T10:50:34.667 に答える