从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
}
提前致谢。
答案 0 :(得分:1)
使用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
)属性。