我正在尝试使用Google云视觉标签检测aem资产。我正在以以下方式将资产转换为输入流:
Asset myAsset = assetMgr. getasset (payload);
Rendition myRen = myAsset。getRendition(有效载荷+Constants.originalRendition);InputStream is = myRen.getStream();
获得流后,我以这种方式访问服务
,但我得到以下响应:
{"code": 400,"errors": [{"domain":"global"message":请求必须指定图像和特征。"reason":";badRequest"}),"message":请求必须指定图像和特征。"status":";INVALID_ARGUMENT"}
创建InputStream同样的方式为谷歌人脸检测工作良好。
似乎您正在使用IOUtils.toByteArray()
方法将图像转换为字节流。由于检测标签的代码与检测人脸的代码非常相似,除了将图像转换为字节流的部分,并且您说可以检测人脸,我会尝试使用ByteString
类转换图像。这个类在文档中的代码示例中用于检测这里的标签。