将图像上传到Microsoft Cognitive Services?

时间:2016-06-07 17:04:12

标签: c# computer-vision uri microsoft-cognitive

我正在尝试将图片发布到Microsoft Cognitive Services的计算机视觉API。它要求我将图像上传为网址。我在本地电脑上有一个像http://localhost:9000/content/8a684db8?file=IMG-20160503-WA0002.jpg这样的URI的用户上传的图像。我尝试了显而易见的但不起作用。如何将图像传递给他们的API?

他们还提到我可以将图片作为原始二进制文件发布,但我无法获得如何开始。

PS:如果您想在其他情况下测试订阅密钥,可以使用免费订阅获取订阅密钥。

2 个答案:

答案 0 :(得分:1)

localhost是127.0.0.1,例如从PC访问时的PC。您应该在互联网上传递PC的外部IP

答案 1 :(得分:0)

我能够得到解决方案。没有发布我的回答抱歉。

Microsoft Computer Vision Documentation这显示了如何使用nuget Microsoft.ProjectOxford.Vision调用他们的API。下面的代码将本地存储的图像上传并分析到Computer Vision API服务的分析端点。 / p>

using Microsoft.ProjectOxford.Vision; 
using Microsoft.ProjectOxford.Vision.Contract; 

private async Task<AnalysisResult> UploadAndAnalyzeImage(string imageFilePath)
{
    //
    // Create Project Oxford Computer Vision API Service client
    //
    VisionServiceClient VisionServiceClient = new VisionServiceClient(SubscriptionKey);
    Log("VisionServiceClient is created");

    using (Stream imageFileStream = File.OpenRead(imageFilePath))
    {
        //
        // Analyze the image for all visual features
        //
        Log("Calling VisionServiceClient.AnalyzeImageAsync()...");
        VisualFeature[] visualFeatures = new VisualFeature[] { VisualFeature.Adult, VisualFeature.Categories, VisualFeature.Color, VisualFeature.Description, VisualFeature.Faces, VisualFeature.ImageType, VisualFeature.Tags };
        AnalysisResult analysisResult = await VisionServiceClient.AnalyzeImageAsync(imageFileStream, visualFeatures);
        return analysisResult;
    }

}

On this Git Repository你可以看到一些样本。在这里你也可以了解如何处理客户端错误和异常。