如何在 OpenCvSharp 中获取一条线上的所有点?

How can I get all the points on a line in OpenCvSharp?

有一条直线从Point(x1, y1) 到Point(x2, y2)。我想得到那条线上的所有点。

我知道,OpenCv 有 LineIterator。但是我找不到如何在 C# 上使用它?

有 C++ 中的示例用法(用于提供想法):

LineIterator it(img, pt1, pt2, 8);
for(int i = 0; i < it.count; i++, ++it)
{
    Point pt= it.pos(); 
    //Draw Some stuff using that Point pt
}

提前致谢。

使用 LineIterator 实例的枚举器:

// You can pass connectivity as constructor argument. Default is 8.
foreach (var lip in new LineIterator(img, pt1, pt2)) {
    Point p = lip.Pos;
    // Use appropriate type for generic GetValue<of T>().
    byte v = lip.GetValue<byte>();
}}

有关更多信息,请查看 OpenCvSharp source code。在当前版本 (3.2.0.20170324) 中,LineIterator 属性不起作用。仅使用 LineIterator.Point(我的代码片段中的 lip)属性。