none
求助认知服务中出现通过上传图片出现"code": "InvalidImageFormat"的问题? RRS feed

  • 问题

  • 代码调用部分: 

    StringEntity reqEntity = new StringEntity(aim) ;
    request.setEntity(reqEntity);

    请问aim这个位置填写

    [Binary image data]

    应该如何填入?

    2018年3月7日 12:26

全部回复

  • Hi,

    首先 Azure 认知服务对于图像有相关要求:

    • 支持的输入方法:原始图像二进制文件,采用的格式为 application/octet-stream 或图像 URL。
    • 支持的图像格式:JPEG、PNG、GIF、BMP。
    • 图像文件大小:小于 4 MB。
    • 图像维度:大于 50 x 50 像素。

    > 请问aim这个位置应该如何填入?

    此处的参数是和您请求的 Content-Type 类型有关的,可以使用 图像的二进制数据 或者 图像 URL 的Json 串

    使用图像的二进制数据,可以通过以下方法进行转换:

    static byte[] GetImageAsByteArray(string imageFilePath)
    {
        FileStream fileStream = new FileStream(imageFilePath, FileMode.Open, FileAccess.Read);
        BinaryReader binaryReader = new BinaryReader(fileStream);
        return binaryReader.ReadBytes((int)fileStream.Length);
    }
    具体示例代码,请参考:计算机视觉快速入门

    使用 图像 URL 的 Json 字符串时,请参考:

    StringEntity reqEntity = new StringEntity("{\"url\":\"https://upload.wikimedia.org/wikipedia/commons/1/12/Broadway_and_Times_Square_by_night.jpg\"}");
    具体示例代码,您可以查看:地标 Java 计算机视觉示例请求

    MSDN 社区技术支持
    如果该回复解决了您的问题,请及时点击“标记为答案”选项,如未解决请选择“取消标记为答案”,这会有利于其他人员来阅读您的帖子。如果您对MSDN 技术支持有任何的建议或意见,请随时联系 MSDNFSF@microsoft.com

    2018年3月8日 2:08
    版主