如何在 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
)属性。
有一条直线从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
)属性。