C# 在Emgu卷积核中画一个圆
我想使用Emgu将我的图像与一个圆形(未填充)的内核进行卷积。 我找到了适合我需要的卷积内核() 有人知道我如何在这个内核中画一个圆吗?没有抗锯齿,这就是。 另一个简单的方法做一个循环核卷积也赞赏 我试过这个:C# 在Emgu卷积核中画一个圆,c#,opencv,image-processing,emgucv,C#,Opencv,Image Processing,Emgucv,我想使用Emgu将我的图像与一个圆形(未填充)的内核进行卷积。 我找到了适合我需要的卷积内核() 有人知道我如何在这个内核中画一个圆吗?没有抗锯齿,这就是。 另一个简单的方法做一个循环核卷积也赞赏 我试过这个: Image<Gray, float> kernel = new Image<Gray, float>(radius * 2 + 1, radius * 2 + 1); kernel.Draw(new CircleF(new Point(radius, radius
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);
此外,它似乎效率不高
干杯
汤姆好的,我是这样做的:
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));
图像内核=新图像(半径*2+1,半径*2+1);
绘制(新圆圈(新点(半径,半径),半径),新灰色(1.0),1);
CvInvoke.cvFilter2D(A,B,内核,新点(-1,-1));
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));