等价于 OpenCv c++ api Vec2f,norm, acos in emgucv csharp

Equivalent of OpenCv c++ api Vec2f,norm, acos in emgucv csharp

这里是 OpenCV api 在 c++ 中。

Vec2f
norm
acos

请建议在 emgucv 中什么是 c# 等价物 api?

提前致谢。

Vec2f

根据您的应用,您可以只使用 System.Drawing.PointF,一个浮点精度二维点将 IJ 存储为 XY .但是,它不支持您可能喜欢使用的某些 opencv 函数。在这种情况下,Vec2f 只是 float 的 1 x 2 矩阵,为此您可以使用:

Matrix<float> myVec2F = new Matrix<float>(1, 2);

作为奖励,如果您愿意,请使用此 class:

public class Vec2F: Matrix<float>
{
    public float I
    {
        get { return base[0, 0]; }
        set { base[0, 0] = value; }
    }

    public float J
    {
        get { return base[1, 0]; }
        set { base[1, 0] = value; }
    }

    public Vec2F() : base(2, 1) { }

    public Vec2F(float I, float J) : base(2,1)
    {
        this.I = I;
        this.J = J;
    }
}

用作:

Vec2F myVec2F = new Vec2F();

Norm

在 2D 向量的上下文中,这只是毕达哥拉斯为了找到大小,但是如果您使用上面的 Matrix<float>,它现在支持 myVec2F.Norm

Acos

System.Math.Acos()...简单。