Google Cloud Vision Node.js如何发送请求属性及报错解决问询
Google Cloud Vision 文字检测偶发报错解决方案
报错根因
Error: 3 INVALID_ARGUMENT: Request must specify image and features.报错的核心原因是部分图片的语言特征不清晰,Google Cloud Vision无法自动推断识别语言,需要显式传入语言提示参数才能正常处理请求。80%场景运行正常是因为对应图片语言特征明显,服务端可以自动识别。
修复后完整代码
直接替换原有代码为下方版本,根据自身识别需求调整languageHints内的语言码即可:
// Performs text detection on the image file using GCV (async () => { await Jimp.read(attachment.url).then(image => { return image .invert() .contrast(0.5) .brightness(-0.25) .write('temp.png'); }); // 改为传入完整请求结构体,显式指定所有必填参数和语言提示 const [result] = await googleapis.textDetection({ image: { source: { filename: 'temp.png' } }, features: [{ type: 'TEXT_DETECTION' }], imageContext: { // 按需配置识别的语言,简体中文用zh-CN、繁体中文用zh-TW、英文用en、日文用ja、韩文用ko languageHints: ['zh-CN', 'en'] } }); const fullImageResults = result.textAnnotations; // 后续原有业务逻辑保持不变 })();
参数说明
image:显式指定图片路径,避免偶发的资源解析异常导致服务端识别不到图片features:显式声明调用文字检测能力,消除参数歧义imageContext.languageHints:指定识别语言的提示参数,多语言场景下可以传入多个语言码提升识别准确率
内容的提问来源于stack exchange,提问作者JToland
相关产品推荐
相关产品推荐

