Esempio n. 1
0
        public override IObservable <ConnectedComponentCollection> Process(IObservable <Contours> source)
        {
            return(source.Select(input =>
            {
                var currentContour = input.FirstContour;
                var output = new ConnectedComponentCollection(input.ImageSize);

                while (currentContour != null)
                {
                    var component = ConnectedComponent.FromContour(currentContour);
                    currentContour = currentContour.HNext;
                    output.Add(component);
                }

                return output;
            }));
        }
Esempio n. 2
0
        public IObservable <ConnectedComponentCollection> Process(IObservable <Tuple <Contours, IplImage> > source)
        {
            return(source.Select(input =>
            {
                var image = input.Item2;
                var contours = input.Item1;
                var currentContour = contours.FirstContour;
                var output = new ConnectedComponentCollection(image.Size);

                while (currentContour != null)
                {
                    var component = ConnectedComponent.FromContour(currentContour);
                    component.Patch = image.GetSubRect(component.Contour.Rect);
                    currentContour = currentContour.HNext;
                    output.Add(component);
                }

                return output;
            }));
        }
Esempio n. 3
0
 public IObservable <ConnectedComponent> Process(IObservable <Seq> source)
 {
     return(source.Select(input => ConnectedComponent.FromContour(input)));
 }