Microsoft 认知服务视觉 API ClientException 错误

2024-04-08

我正在尝试使用视觉认知服务来接收图像的描述,但我的代码总是抛出此异常:

Exception Microsoft.ProjectOxford.Vision.ClientException
HResult=0x80131500
Origine=<Non è possibile valutare l'origine dell'eccezione>
Stack:
in Microsoft.ProjectOxford.Vision.VisionServiceClient.HandleException (Exception exception)
in Microsoft.ProjectOxford.Vision.VisionServiceClient.<SendAsync>b__42_1[TRequest,TResponse](Exception e)
in System.AggregateException.Handle(Func`2 predicate)
in Microsoft.ProjectOxford.Vision.VisionServiceClient.<SendAsync>d__42`2.MoveNext()
in System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
in System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
in Microsoft.ProjectOxford.Vision.VisionServiceClient.<AnalyzeImageAsync>d__21`1.MoveNext()
in System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
in System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
in Microsoft.ProjectOxford.Vision.VisionServiceClient.<AnalyzeImageAsync>d__20.MoveNext()
in System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
in System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
in System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
in CognitiveServices.MainPage.<Button_Clicked>d__1.MoveNext() in C:\Users\manu9\documents\visual studio 2017\Projects\CognitiveServices\CognitiveServices\CognitiveServices\MainPage.xaml.cs: riga 48

这是我的代码:

using Microsoft.ProjectOxford.Vision;
using Microsoft.ProjectOxford.Vision.Contract;
using Plugin.Media;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;

namespace CognitiveServices
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
        }

        private async void Button_Clicked(object sender, EventArgs e)
        {
            var media = Plugin.Media.CrossMedia.Current;
            await media.Initialize();
            var file = await media.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions
            {
                SaveToAlbum = false
            });
            image.Source = ImageSource.FromStream(() => file.GetStream());

            var visionClient = new VisionServiceClient("MY_API_KEY");

            var visualFeats = new VisualFeature[]
            {
                VisualFeature.Description, 
                VisualFeature.Faces
            };

            Stream imagestream = file.GetStream();
            imagestream.Seek(0, SeekOrigin.Begin);

            var result = await visionClient.AnalyzeImageAsync(imagestream, visualFeats);
            description.Text = result.Description.Captions.First().Text;

            Debug.WriteLine(result.Description.Captions[0].Text);
            file.Dispose();
        }
    }
}

为什么我总是出现这个异常?我读到有人通过添加类似的内容解决了这个问题imageStream.Seek(0)这是真的吗?


您的 API 密钥很可能与您正在访问的端点不对应。如果你看一下客户端的源代码 https://github.com/Microsoft/Cognitive-Vision-Windows/blob/master/ClientLibrary/VisionServiceClient.cs#L58你会看到默认情况下它会到达美国西部(https://westus.api.cognitive.microsoft.com/vision/v1.0)并且您的密钥可能与另一个区域相对应(就像我的情况一样)。

You can change this by doing new VisionServiceClient(apiKey, apiRoot), where apiRoot is obtained through the Azure Portal:enter image description here

在我的例子中输出的工作代码Satya Nadella wearing glasses and smiling at the camera.

using Microsoft.ProjectOxford.Vision;
using Microsoft.ProjectOxford.Vision.Contract;
using System;
using System.Configuration;
using System.IO;

namespace VisionClient
{
    public class Program
    {
        public static void Main(string[] args)
        {
            AnalyzeImage();
            Console.WriteLine("Press any key to exit...");
            Console.ReadLine();
        }

        private static void AnalyzeImage()
        {
            var apiKey = ConfigurationManager.AppSettings["VisionApiSubscriptionKey"];
            var apiRoot = "https://eastus2.api.cognitive.microsoft.com/vision/v1.0";
            var visionClient = new VisionServiceClient(apiKey, apiRoot);

            var visualFeats = new VisualFeature[]
            {
                VisualFeature.Description,
                VisualFeature.Faces
            };

            Stream imageStream = File.OpenRead("satyaNadella.jpg");

            try
            {
                AnalysisResult analysisResult = visionClient.AnalyzeImageAsync(imageStream, visualFeats).Result;
                foreach(var caption in analysisResult.Description.Captions)
                {
                    Console.WriteLine("Description: " + caption.Text);
                }
            }
            catch (ClientException e)
            {
                Console.WriteLine("Vision client error: " + e.Error.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine("Error: " + e.Message);
            }
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Microsoft 认知服务视觉 API ClientException 错误 的相关文章

  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 随着时间的推移,添加到 List 变得非常慢

    我正在解析一个大约有 1000 行的 html 表 我从一个字符串中添加 10 个字符串 td 每行到一个list td
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • C++ 多行字符串原始文字[重复]

    这个问题在这里已经有答案了 我们可以像这样定义一个多行字符串 const char text1 part 1 part 2 part 3 part 4 const char text2 part 1 part 2 part 3 part 4
  • WPF 数据绑定到复合类模式?

    我是第一次尝试 WPF 并且正在努力解决如何将控件绑定到使用其他对象的组合构建的类 例如 如果我有一个由两个单独的类组成的类 Comp 为了清楚起见 请注意省略的各种元素 class One int first int second cla
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • LINQ:使用 INNER JOIN、Group 和 SUM

    我正在尝试使用 LINQ 执行以下 SQL 最接近的是执行交叉联接和总和计算 我知道必须有更好的方法来编写它 所以我向堆栈团队寻求帮助 SELECT T1 Column1 T1 Column2 SUM T3 Column1 AS Amoun
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • 类型或命名空间“MyNamespace”不存在等

    我有通常的类型或命名空间名称不存在错误 除了我引用了程序集 using 语句没有显示为不正确 并且我引用的类是公共的 事实上 我在不同的解决方案中引用并使用相同的程序集来执行相同的操作 并且效果很好 顺便说一句 这是VS2010 有人有什么
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat

随机推荐

  • 复制virtualenv文件夹后如何在Cygwin中激活virtualenv

    完整的初学者在这里 尝试构建一个 Flask Web 应用程序 使用 Windows 8 在 Cygwin 中激活我的 python virtualenv 时遇到一些问题 到目前为止我一直在使用 git shell 没有任何问题 我将文件夹
  • React.js:将默认值设置为 prop

    我制作了这个组件来创建一个简单的按钮 class AppButton extends Component setOnClick if this props onClick typeof this props onClick function
  • 在 ASP.NET MVC 3 应用程序中扩展 Windows 身份验证

    经过大量谷歌搜索并阅读了有关如何在 ASP NET 应用程序中管理混合模式身份验证的几种解决方案后 我仍然没有适合我的问题的解决方案 我必须为一堆不同的用户组实现一个 Intranet 应用程序 到目前为止 我一直使用 Windows 身份
  • 无法在 ubuntu 19.04 上安装 libzmq3-dev

    我正在尝试安装libzmq3 dev on 乌班图19 04 使用命令 sudo apt install build essential libsocketcan dev libzmq3 dev 我收到消息 gt Some packages
  • Pentaho Spoon 工具转换顺序

    我正在尝试设计一个 ETL 结构 但我陷入了以下步骤 正如你所看到的 我有 3 个步骤 每个步骤都有一个FK上一步的值 例如TABLE3有一个列外键约束这表明PK值在TABLE2 and TABLE2与 具有相同的关系TABLE1 问题是
  • 如何在我的 Maven 项目中正确包含“org.apache.catalina.filters.SetCharacterEncodingFilter”过滤器?

    我使用 Maven 3 3 和 JBoss 7 1 3 Final Java 6 我想在我的 Web 应用程序中包含一个过滤器 以便所有传入请求数据都将编码为 UTF 8 所以我将其添加到我的 web xml 文件中
  • Powershell CheckedListBox 检查是否在字符串/数组中

    我已经开始学习 Powershell 但在花了几个小时解决一个问题后陷入困境 我可以找到除 Powershell 之外的多种语言的解决方案 我需要对 CheckedListBox 中的每个项目进行检查 该项目与名为的分号分隔字符串中的任何值
  • WPF 中 WinForms TextBox.Validating 事件的等效项

    在 WinForms 中 我可以处理 Validated 事件 以便在用户更改 TextBox 中的文本后执行某些操作 与 TextChanged 不同 Validated 不会在每次字符更改时触发 它仅在用户完成后触发 WPF 中是否有任
  • 我到底必须在 viewDidUnload 中做什么?

    我倾向于在 dealloc 中释放我的东西 现在 iPhone OS 3 0 引入了这个有趣的 viewDidUnload 方法 他们说 释放所有保留的子视图 主要视图 例如自我我的出口 零 因此 当视图控制器的视图从内存中启动时 view
  • Pandas - 按一列分组,按另一列排序,从第三列获取值

    我想采用 pandas 数据框 按一列对其进行分组 按另一列对其进行排序 并从第三列中获取第一个元素并填充原始数据框 这是我原来的 df 我将按 col 1 分组 按 col 2 升序 排序 并从 col 3 中取出第一个元素并用结果填充
  • 对角线穿过视图

    根据某些条件 我必须对角剪切列表单元格 为此 我使用以下代码制作了对角线可绘制图像 对角线 xml
  • 沿多边形边界随机采样点

    I am trying to randomly sample points on a polygon boundary made of arbitrary number of points The polygon consist of a
  • C++中的默认参数

    考虑以下 int foo int x int z 0 int foo int x int y int z 0 如果我像这样调用这个函数 foo 1 2 编译器如何知道使用哪一个 它不会 因此这个例子不会编译干净 它会给你一个编译错误 它会给
  • Cardview 涟漪效应不起作用

    最小 SDK 为 21 当我单击回收器适配器中的卡片视图时 不会发生连锁反应 只会转到下一个屏幕 recyclerview 位于片段内
  • JDBC 无法加载数据源的工厂类

    我已经遇到这个问题好几天了 但没有设法解决它 我使用的是 tomcat 7 0 我完全无法连接 mysql 数据库 我正在编写的应用程序是一个使用eclipse IDE的jsp动态网站 TomCat 7 启动时出现此错误 WARNING F
  • 为什么 Z3 在这个简单的输入上返回“未知”?

    这是输入 set option auto config false set option mbqi false declare sort T6 declare sort T7 declare fun set23 T7 T7 Bool ass
  • 在 Aptana Studio 3 中禁用 CSS 验证

    有人知道如何使用 Aptana Studio 3 禁用 CSS 验证吗 在版本 3 0 4 中 即使完全完成后 警告仍然存在禁用 W3C CSS 验证器 https stackoverflow com questions 6652793 h
  • 在最近的 JVM 中,不可见引用仍然是一个问题吗?

    我正在读书Java 平台性能 http java sun com docs books performance 1st edition html JPAppGC fm html 遗憾的是 自从我最初提出这个问题以来 该链接似乎已经从互联网上
  • Tensorflow中GRU单元的解释?

    以下是 Tensorflow 的代码GRUCell单元显示了当先前的隐藏状态与序列中的当前输入一起提供时获得更新的隐藏状态的典型操作 def call self inputs state scope None Gated recurrent
  • Microsoft 认知服务视觉 API ClientException 错误

    我正在尝试使用视觉认知服务来接收图像的描述 但我的代码总是抛出此异常 Exception Microsoft ProjectOxford Vision ClientException HResult 0x80131500 Origine