Exemplo n.º 1
0
        public override void DidOrderIn(PresentationViewController presentationViewController)
        {
            var banana = Utils.SCAddChildNode(ContentNode, "banana", "Scenes.scnassets/banana/banana", 5);

            banana.Rotation = new SCNVector4(1, 0, 0, -(float)(Math.PI / 2));

            banana.RunAction(SCNAction.RepeatActionForever(SCNAction.RotateBy(0, NMath.PI * 2, 0, 1.5f)));
            banana.Position = new SCNVector3(2.5f, 5, 10);
            var gaussianBlurFilter = new CIGaussianBlur()
            {
                Radius = 10
            };

            gaussianBlurFilter.SetDefaults();
            banana.Filters = new CIFilter[] { gaussianBlurFilter };

            banana = (SCNNode)banana.Copy();
            ContentNode.AddChildNode(banana);
            banana.Position = new SCNVector3(6, 5, 10);
            var pixellateFilter = new CIPixellate();

            pixellateFilter.SetDefaults();
            banana.Filters = new CIFilter[] { pixellateFilter };

            banana = (SCNNode)banana.Copy();
            ContentNode.AddChildNode(banana);
            banana.Position = new SCNVector3(9.5f, 5, 10);
            var filter = CIFilter.FromName("CIEdgeWork");

            filter.SetDefaults();
            banana.Filters = new CIFilter[] { filter };
        }
Exemplo n.º 2
0
		public override void DidOrderIn (PresentationViewController presentationViewController)
		{
			var banana = Utils.SCAddChildNode (ContentNode, "banana", "Scenes.scnassets/banana/banana", 5);
			banana.Rotation = new SCNVector4 (1, 0, 0, -(float)(Math.PI / 2));

			banana.RunAction (SCNAction.RepeatActionForever (SCNAction.RotateBy (0, NMath.PI * 2, 0, 1.5f)));
			banana.Position = new SCNVector3 (2.5f, 5, 10);
			var gaussianBlurFilter = new CIGaussianBlur () { Radius = 10 };
			gaussianBlurFilter.SetDefaults ();
			banana.Filters = new CIFilter[] { gaussianBlurFilter };

			banana = (SCNNode)banana.Copy ();
			ContentNode.AddChildNode (banana);
			banana.Position = new SCNVector3 (6, 5, 10);
			var pixellateFilter = new CIPixellate ();
			pixellateFilter.SetDefaults ();
			banana.Filters = new CIFilter[] { pixellateFilter };

			banana = (SCNNode)banana.Copy ();
			ContentNode.AddChildNode (banana);
			banana.Position = new SCNVector3 (9.5f, 5, 10);
			var edgeWorkFilter = new CIEdgeWork ();
			edgeWorkFilter.SetDefaults ();
			banana.Filters = new CIFilter[] { edgeWorkFilter };
		}
Exemplo n.º 3
0
        public async Task<bool> Recognise (CIImage image)
        {
            if (image == null)
                throw new ArgumentNullException ("image");
            if (_busy)
                return false;
            _busy = true;
            try {
                return await Task.Run (() => {
                    using (var blur = new CIGaussianBlur ())
                    using (var context = CIContext.Create ()) {
                        blur.SetDefaults ();
                        blur.Image = image;
                        blur.Radius = 0;
                        using (var outputCiImage = context.CreateCGImage (blur.OutputImage, image.Extent))
                        using (var newImage = new UIImage (outputCiImage)) {
                            _api.Image = newImage;
                            _api.Recognize ();
                            return true;
                        }
                    }

                });
            } finally {
                _busy = false;
            }
        }
        private void addBulrFilterToWhiteCircle()
        {
            var blurFilter = new CIGaussianBlur();

            blurFilter.SetDefaults();
            blurFilter.Radius = 0;
            //blurFilter.SetValueForKey(0, new NSString("inputRadius")
            //if #available(iOS 10.0, *) {
            //blurFilter?.name = "blur"
            // }
            blurFilter.Radius             = 30;//(30, forKey: "inputRadius")
            _blurWhiteCircleLayer.Filters = new CIFilter[] { blurFilter };
        }
        public async void Sample3Png()
        {
            await _api.Init("eng");

            using (var stream = LoadSample("sample3.png"))
                using (var image = new CIImage(NSData.FromStream(stream)))
                    using (var blur = new CIGaussianBlur())
                        using (var context = CIContext.Create()) {
                            blur.SetDefaults();
                            blur.Image  = image;
                            blur.Radius = 0;
                            using (var outputCiImage = context.CreateCGImage(blur.OutputImage, image.Extent))
                                using (var newImage = new UIImage(outputCiImage)) {
                                    var result = await((TesseractApi)_api).Recognise(newImage);
                                    Assert.IsTrue(result);
                                    Assert.AreEqual(
                                        "the quick brown fox\njumps over the lazy dog-\n\nTHE QUICK BROlLIN FOX\nJUMPS OVER THE LAZY DOG.\n\n",
                                        _api.Text);
                                }
                        }
        }
Exemplo n.º 6
0
        public async Task<bool> Recognise (CIImage image)
        {
            CheckIfInitialized ();
            if (image == null)
                throw new ArgumentNullException ("image");
            if (_busy)
                return false;
            _busy = true;
            try {
                return await Task.Run (() => {
                    using (var blur = new CIGaussianBlur ())
                    using (var context = CIContext.Create ()) {
                        blur.SetDefaults ();
                        blur.Image = image;
                        blur.Radius = 0;
                        using (var outputCiImage = context.CreateCGImage (blur.OutputImage, image.Extent))
                        using (var newImage = new UIImage (outputCiImage)) {
                            _size = newImage.Size;
                            _api.Image = newImage;
                            if (_rect.HasValue) {
                                _api.Rect = new CGRect (_rect.Value.Left, _rect.Value.Top, _rect.Value.Width, _rect.Value.Height);
                            } else {
                                _api.Rect = new CGRect (0, 0, _size.Width, _size.Height);
                            }
                            _api.Recognize ();
                            return true;
                        }
                    }

                });
            } finally {
                _busy = false;
            }
        }
 public async void Sample3Png ()
 {
     await _api.Init ("eng");
     using (var stream = LoadSample ("sample3.png"))
     using (var image = new CIImage (NSData.FromStream (stream)))
     using (var blur = new CIGaussianBlur ())
     using (var context = CIContext.Create ()) {
         blur.SetDefaults ();
         blur.Image = image;
         blur.Radius = 0;
         using (var outputCiImage = context.CreateCGImage (blur.OutputImage, image.Extent))
         using (var newImage = new UIImage (outputCiImage)) {
             var result = await ((TesseractApi)_api).Recognise (newImage);
             Assert.IsTrue (result);
             Assert.AreEqual (
                 "the quick brown fox\njumps over the lazy dog-\n\nTHE QUICK BROlLIN FOX\nJUMPS OVER THE LAZY DOG.\n\n",
                 _api.Text);
         }
     }
 }