google-cloud-vision - Cloud vision api face detection no image present 错误
问题描述
我们No image present.
在尝试使用云视觉 API 进行人脸检测时遇到错误。
我们使用的是官方文档中的代码。
请看下面的代码。
const request1={
"requests":[
{
"image":{
"content": imgdatauri //It contains image data uri
},
"features": [
{
"type":"FACE_DETECTION",
"maxResults":1
}
]
}
]
};
client
.annotateImage(request1)
.then(response => {
console.log(response);
response.send(response);
})
.catch(err => {
console.error(err);
response.send(err);
});
这是错误消息。
Error: No image present.
at _coerceRequest (/rbd/pnpm-volume/e40024d2-3d05-4f3d-a435-6d4e6ca96fb0/node_modules/.registry.npmjs.org/@google-cloud/vision/1.1.3/node_modules/@google-cloud/vision/src/helpers.js:69:21)
at ImageAnnotatorClient.<anonymous> (/rbd/pnpm-volume/e40024d2-3d05-4f3d-a435-6d4e6ca96fb0/node_modules/.registry.npmjs.org/@google-cloud/vision/1.1.3/node_modules/@google-cloud/vision/src/helpers.js:224:12)
at PromiseCtor (/rbd/pnpm-volume/e40024d2-3d05-4f3d-a435-6d4e6ca96fb0/node_modules/.registry.npmjs.org/@google-cloud/promisify/1.0.2/node_modules/@google-cloud/promisify/build/src/index.js:71:28)
at new Promise (<anonymous>)
at ImageAnnotatorClient.wrapper [as annotateImage] (/rbd/pnpm-volume/e40024d2-3d05-4f3d-a435-6d4e6ca96fb0/node_modules/.registry.npmjs.org/@google-cloud/promisify/1.0.2/node_modules/@google-cloud/promisify/build/src/index.js:56:16)
我们想知道我们需要做些什么来解决这个问题。
解决方案
我用云存储触发器创建了一个云函数,当我上传图像文件时,我的函数被触发(带有事件)我可以看到有 event.mediaLink event.selfLink,我尝试使用两者来加载图像,但它一直在抱怨没有图像存在
这是代码
exports.analyzeImage = function(event) {
const vision = require('@google-cloud/vision');
const client = new vision.ImageAnnotatorClient();
console.log('Event', event.mediaLink)
let image = {
source: {imageUri: event.mediaLink}
};
return client.labelDetection(image).then(resp => {
let labels = resp[0].labelAnnotations.map( l => {
return {
description: l.description,
score: l.score
};
});
return labels;
// const dataset = bigquery.dataset('dataset')
// return dataset.table
}).catch(err => {
console.error(err)
})
}
推荐阅读
- emotion - Emotion 可以将其组件名称作为类名传递吗?
- javascript - JS 对象“失去对 DOM 元素的引用”
- python - Python - 如何从目标文件中提取多标签文本并按正确顺序排列并对其进行热编码?
- performance - 优化复杂的 CUDA 内核以提高内存和计算效率
- react-native - “SyntaxError: Unexpected token”但未指定标记,错误指示在空白处
- kubernetes - 有没有办法从 kube 集群中导出资源,以便可以将其应用于另一个集群
- python-3.x - 使用 for 循环绘制多个图
- python - 对 Pandas 中轴的困惑
- wso2 - 将参数传递给 WSO2 AM 后台 api
- java - 单击 Web 应用程序中的另一个元素后删除输入的值