本文整理汇总了C#中Seq.GetConvexityDefacts方法的典型用法代码示例。如果您正苦于以下问题:C# Seq.GetConvexityDefacts方法的具体用法?C# Seq.GetConvexityDefacts怎么用?C# Seq.GetConvexityDefacts使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Seq
的用法示例。
在下文中一共展示了Seq.GetConvexityDefacts方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestConvexityDefacts
public void TestConvexityDefacts()
{
Image<Gray, Byte> image = new Image<Gray, byte>(300, 300);
Point[] polyline = new Point[] {
new Point(10, 10),
new Point(10, 250),
new Point(100, 100),
new Point(250, 250),
new Point(250, 10)};
using (MemStorage stor = new MemStorage())
{
Seq<Point> contour = new Seq<Point>(stor);
contour.PushMulti(polyline, Emgu.CV.CvEnum.BACK_OR_FRONT.FRONT);
image.Draw(contour, new Gray(255), 1);
Seq<MCvConvexityDefect> defactSeq =
contour.GetConvexityDefacts(
stor,
Emgu.CV.CvEnum.ORIENTATION.CV_CLOCKWISE);
MCvConvexityDefect[] defacts = defactSeq.ToArray();
Assert.AreEqual(1, defacts.Length);
Assert.AreEqual(new Point(100, 100), defacts[0].DepthPoint);
Assert.IsTrue(contour.InContour(new PointF(90, 90)) > 0);
Assert.IsTrue(contour.InContour(new PointF(300, 300)) < 0);
Assert.IsTrue(contour.InContour(new PointF(10, 10)) == 0);
}
}