public override IObservable <IplImage> Process(IObservable <Tuple <IplImage, IplImage> > source) { return(source.Select(input => { var previous = input.Item1; var next = input.Item2; var output = new IplImage(previous.Size, IplDepth.F32, 2); CV.CalcOpticalFlowFarneback( previous, next, output, PyramidScale, Levels, WindowSize, Iterations, PolyN, PolySigma, Flags); return output; })); }