C# 如何使用EmguCV(OpenCV)绘制具有抗锯齿和高斯线强度的圆?

C# 如何使用EmguCV(OpenCV)绘制具有抗锯齿和高斯线强度的圆?,c#,opencv,emgucv,C#,Opencv,Emgucv,我需要画一个尽可能完美的圆。EmguCV似乎缺少抗锯齿选项 我尝试使用SmoothGaussian,但圆看起来仍然不够好/平滑 此外,圆线强度应具有高斯形状(即:中心更亮) 我怎样才能做到这一点 以下是我现在正在做的: using (Image<Gray, Byte> img = new Image<Gray, byte>(800, 800, new Gray(0))) { PointF center = new PointF(img.Width / 2, img

我需要画一个尽可能完美的圆。EmguCV似乎缺少抗锯齿选项

我尝试使用SmoothGaussian,但圆看起来仍然不够好/平滑

此外,圆线强度应具有高斯形状(即:中心更亮)

我怎样才能做到这一点

以下是我现在正在做的:

using (Image<Gray, Byte> img = new Image<Gray, byte>(800, 800, new Gray(0)))
{
    PointF center = new PointF(img.Width / 2, img.Height / 2);
    //Center line
    float r = 200.0f;
    CircleF circle = new CircleF(center, r);
    img.Draw(circle, new Gray(255), 1);
    img._SmoothGaussian(7, 7, 3, 3);
}
使用(图像img=新图像(800800,新灰度(0)))
{
点F中心=新点F(img.宽度/2,img.高度/2);
//中线
浮子r=200.0f;
圆环=新的圆环(中心,r);
图像绘制(圆形,新灰色(255),1);
img._(7,7,3,3);
}

如果您使用Brg、Brga或灰色,您可以使用该hack:

using(var graph = Graphics.FromImage(image.Bitmap))
{
    graph.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
    graph.DrawEllipse(new Pen(color.BackColor), x, y, d`i`ameter, diameter);
}
` 编辑: 您还可以使用cvInvoke

var center = new Point(x, y);
var color = new Bgr(this.color.BackColor);

CvInvoke.cvCircle(image.Ptr, center, radius, color.MCvScalar, thickness, Emgu.CV.CvEnum.LINE_TYPE.CV_AA, 0);

`

在c++/python中,有一个选项可以选择,我有时间的时候会试试。