Ejemplo n.º 1
0
        public IEnumerator TestAnalyze()
        {
            Log.Debug("VisualRecognitionServiceV4IntegrationTests", "Attempting to Analyze...");
            AnalyzeResponse         analyzeResponse = null;
            List <FileWithMetadata> imagesFile      = new List <FileWithMetadata>();

            using (FileStream fs1 = File.OpenRead(giraffeImageFilepath), fs2 = File.OpenRead(turtleImageFilepath))
            {
                using (MemoryStream ms1 = new MemoryStream(), ms2 = new MemoryStream())
                {
                    fs1.CopyTo(ms1);
                    fs2.CopyTo(ms2);
                    FileWithMetadata fileWithMetadata = new FileWithMetadata()
                    {
                        Data        = ms1,
                        ContentType = "image/jpeg",
                        Filename    = Path.GetFileName(giraffeImageFilepath)
                    };
                    imagesFile.Add(fileWithMetadata);

                    FileWithMetadata fileWithMetadata2 = new FileWithMetadata()
                    {
                        Data        = ms2,
                        ContentType = "image/jpeg",
                        Filename    = Path.GetFileName(turtleImageFilepath)
                    };
                    imagesFile.Add(fileWithMetadata2);

                    service.Analyze(
                        callback: (DetailedResponse <AnalyzeResponse> response, IBMError error) =>
                    {
                        Log.Debug("VisualRecognitionServiceV4IntegrationTests", "Analyze result: {0}", response.Response);
                        analyzeResponse = response.Result;
                        Assert.IsNotNull(analyzeResponse);
                        Assert.IsNotNull(analyzeResponse.Images);
                        Assert.IsTrue(analyzeResponse.Images.Count > 0);
                        Assert.IsNotNull(analyzeResponse.Images[0].Objects.Collections);
                        Assert.IsTrue(analyzeResponse.Images[0].Objects.Collections.Count > 0);
                        Assert.IsNull(error);
                    },
                        collectionIds: new List <string>()
                    {
                        giraffeCollectionId
                    },
                        features: new List <string>()
                    {
                        "objects"
                    },
                        imagesFile: imagesFile
                        );

                    while (analyzeResponse == null)
                    {
                        yield return(null);
                    }
                }
            }
        }
        public void Analyze_Success()
        {
            DetailedResponse <AnalyzeResponse> analyzeResult = null;
            List <FileWithMetadata>            imagesFile    = new List <FileWithMetadata>();

            using (FileStream fs = File.OpenRead(localGiraffeFilePath), fs2 = File.OpenRead(localTurtleFilePath))
            {
                using (MemoryStream ms = new MemoryStream(), ms2 = new MemoryStream())
                {
                    fs.CopyTo(ms);
                    fs2.CopyTo(ms2);
                    FileWithMetadata fileWithMetadata = new FileWithMetadata()
                    {
                        Data        = ms,
                        ContentType = "image/jpeg",
                        Filename    = Path.GetFileName(localGiraffeFilePath)
                    };
                    imagesFile.Add(fileWithMetadata);

                    FileWithMetadata fileWithMetadata2 = new FileWithMetadata()
                    {
                        Data        = ms2,
                        ContentType = "image/jpeg",
                        Filename    = Path.GetFileName(localTurtleFilePath)
                    };
                    imagesFile.Add(fileWithMetadata2);

                    service.WithHeader("X-Watson-Test", "1");
                    analyzeResult = service.Analyze(
                        collectionIds: new List <string>()
                    {
                        collectionId
                    },
                        features: new List <string>()
                    {
                        "objects"
                    },
                        imagesFile: imagesFile);
                }
            }

            Assert.IsNotNull(analyzeResult.Result);
            Assert.IsTrue(analyzeResult.Result.Images[0].Objects.Collections[0].Objects[0]._Object == giraffeClassname);
            Assert.IsTrue(analyzeResult.Result.Images.Count == 2);
            Assert.IsTrue(analyzeResult.Result.Images[0].Source.Filename == Path.GetFileName(localGiraffeFilePath));
            Assert.IsTrue(analyzeResult.Result.Images[1].Source.Filename == Path.GetFileName(localTurtleFilePath));
        }
Ejemplo n.º 3
0
        public void Analyze()
        {
            IamAuthenticator authenticator = new IamAuthenticator(
                apikey: "{apikey}"
                );

            VisualRecognitionService service = new VisualRecognitionService("2019-02-11", authenticator);

            DetailedResponse <AnalyzeResponse> result     = null;
            List <FileWithMetadata>            imagesFile = new List <FileWithMetadata>();

            using (FileStream hondaFilestream = File.OpenRead("./honda.jpg"), diceFilestream = File.OpenRead("./dice.png"))
            {
                using (MemoryStream hondaMemoryStream = new MemoryStream(), diceMemoryStream = new MemoryStream())
                {
                    hondaFilestream.CopyTo(hondaMemoryStream);
                    diceFilestream.CopyTo(diceMemoryStream);
                    FileWithMetadata hondaFile = new FileWithMetadata()
                    {
                        Data        = hondaMemoryStream,
                        ContentType = "image/jpeg",
                        Filename    = "honda.jpg"
                    };
                    FileWithMetadata diceFile = new FileWithMetadata()
                    {
                        Data        = diceMemoryStream,
                        ContentType = "image/png",
                        Filename    = "dice.png"
                    };
                    imagesFile.Add(hondaFile);
                    imagesFile.Add(diceFile);

                    result = service.Analyze(
                        collectionIds: new List <string>()
                    {
                        "{collectionId}"
                    },
                        features: new List <string>()
                    {
                        "objects"
                    },
                        imagesFile: imagesFile);

                    Console.WriteLine(result.Response);
                }
            }
        }
        public void Analyze_Success()
        {
            IClient  client  = Substitute.For <IClient>();
            IRequest request = Substitute.For <IRequest>();

            client.PostAsync(Arg.Any <string>())
            .Returns(request);

            VisualRecognitionService service = new VisualRecognitionService(client);
            var versionDate = "versionDate";

            service.VersionDate = versionDate;

            var collectionIds = new List <string>()
            {
                "collectionIds0", "collectionIds1"
            };
            var features = new List <string>()
            {
                "features0", "features1"
            };
            var imagesFile = new List <FileWithMetadata>()
            {
                new FileWithMetadata()
                {
                    Filename    = "filename",
                    ContentType = "contentType",
                    Data        = new System.IO.MemoryStream()
                }
            };
            var imageUrl = new List <string>()
            {
                "imageUrl0", "imageUrl1"
            };
            float?threshold = 0.5f;

            var result = service.Analyze(collectionIds: collectionIds, features: features, imagesFile: imagesFile, imageUrl: imageUrl, threshold: threshold);

            request.Received().WithArgument("version", versionDate);
        }
Ejemplo n.º 5
0
        public void Analysis()
        {
            IClient  client  = CreateClient();
            IRequest request = Substitute.For <IRequest>();

            client.GetAsync(Arg.Any <string>())
            .Returns(request);

            #region response
            var analyzeResponse = new AnalyzeResponse()
            {
                Images = new List <Image>()
                {
                    new Image()
                    {
                        Source = new ImageSource()
                        {
                            Type            = "type",
                            Filename        = "filename",
                            ArchiveFilename = "archiveFilename",
                            SourceUrl       = "sourceUrl",
                            ResolvedUrl     = "resolvedUrl"
                        },
                        Dimensions = new ImageDimensions()
                        {
                            Width  = 100,
                            Height = 200
                        },
                        Objects = new DetectedObjects()
                        {
                            Collections = new List <CollectionObjects>()
                            {
                                new CollectionObjects()
                                {
                                    CollectionId = "collectionId",
                                    Objects      = new List <ObjectDetail>()
                                    {
                                        new ObjectDetail()
                                        {
                                            _Object  = "object",
                                            Location = new ObjectDetailLocation()
                                            {
                                                Top    = 0,
                                                Left   = 1,
                                                Width  = 2,
                                                Height = 3
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            };

            var response = new DetailedResponse <AnalyzeResponse>();
            response.Result = analyzeResponse;
            #endregion

            request.WithArgument(Arg.Any <string>(), Arg.Any <string>())
            .Returns(request);
            request.WithBodyContent(new MultipartFormDataContent())
            .Returns(request);
            request.As <AnalyzeResponse>()
            .Returns(Task.FromResult(response));

            NoAuthAuthenticator      authenticator = new NoAuthAuthenticator();
            VisualRecognitionService service       = new VisualRecognitionService(client);
            service.Version = "versionDate";
            service.Analyze(
                collectionIds: new List <string> {
                "colletionIds"
            },
                features: new List <string> {
                "features"
            });

            Assert.IsTrue(response.Result.Images[0].Source.Type == "type");
            Assert.IsTrue(response.Result.Images[0].Source.Filename == "filename");
            Assert.IsTrue(response.Result.Images[0].Source.ArchiveFilename == "archiveFilename");
            Assert.IsTrue(response.Result.Images[0].Source.SourceUrl == "sourceUrl");
            Assert.IsTrue(response.Result.Images[0].Source.ResolvedUrl == "resolvedUrl");
            Assert.IsTrue(response.Result.Images[0].Dimensions.Width == 100);
            Assert.IsTrue(response.Result.Images[0].Dimensions.Height == 200);
            Assert.IsTrue(response.Result.Images[0].Objects.Collections[0].CollectionId == "collectionId");
            Assert.IsTrue(response.Result.Images[0].Objects.Collections[0].Objects[0]._Object == "object");
            Assert.IsTrue(response.Result.Images[0].Objects.Collections[0].Objects[0].Location.Top == 0);
            Assert.IsTrue(response.Result.Images[0].Objects.Collections[0].Objects[0].Location.Left == 1);
            Assert.IsTrue(response.Result.Images[0].Objects.Collections[0].Objects[0].Location.Width == 2);
            Assert.IsTrue(response.Result.Images[0].Objects.Collections[0].Objects[0].Location.Height == 3);
        }