示例#1
0
        public void TestCalculateOpticalFlow()
        {
            ImageArray imageA = SimulateBlackImageWithWhitePatch(41, 41, new Int32Rect(12, 23, 10, 10));
            ImageArray imageB = SimulateBlackImageWithWhitePatch(41, 41, new Int32Rect(14, 25, 10, 10));

            var inputPoints = new[] { new DoublePoint(12.0, 23.0) };

            var matchedPoint = imageA.CalculateOpticalFlowPyrLK(imageB, inputPoints, new Int32Size(5, 5), 0).Single();

            Assert.AreEqual(14, matchedPoint.TrackedPoint.X, 1e-3);
            Assert.AreEqual(25, matchedPoint.TrackedPoint.Y, 1e-3);
        }