2017-08-24 135 views
1

有一條從Point(x1,y1)到Point(x2,y2)的直線。我想要得到這條線上的所有要點。如何在OpenCvSharp中獲得所有點?

我知道,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 
} 

預先感謝。

回答

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.Pointlip在我的代碼片段中)屬性。