Google Cloud功能部署功能OCR提取问题

时间:2020-08-19 21:23:16

标签: google-cloud-platform google-cloud-functions google-cloud-storage ocr

我一直在使用我的项目之一的Google Cloud API OCR工具(https://cloud.google.com/functions/docs/tutorials/ocr)从扫描的图像中提取文本。图片为.png格式。我按照所有说明安装了用于OCR的云API。但是,当我在云存储中的“输入图像存储桶”中上传图像时,在“结果存储桶”中看不到结果。但是,我注意到,如果在以下部署函数中将参数传递为“ fr”或“ es”,则结果的确会显示在结果桶中。在结果桶中看不到“ TO_LANG = en”参数的任何结果。

使用Cloud Storage触发器部署图像处理功能:

{{1}}

但是结果必须是英文。有什么办法可以解决此问题?为了方便起见,我附上了一张图片。非常感谢您的帮助。

谢谢

Muntabir Choudhury sample scanned document

1 个答案:

答案 0 :(得分:1)

感谢您分享图片和有见地的评论。

我尝试将共享的图像上传到存储桶,并且我确认在结果存储桶中未创建文件。此外,我还可以在日志中看到KeyError异常,该异常导致ocr-extract函数崩溃。

检查回购代码后,我发现在54-70行中,当源语言与结果语言相同时,该函数将直接将结果发送到ocr-save函数,而不是调用ocr-translation。问题是创建函数时导致崩溃的环境变量RESULT_TOPIC未定义。

要解决该问题,请转到控制台UI的功能选项卡,然后编辑函数ocr-extract,其中包括上述env var。或者,您可以使用以下命令通过Cloud SDK重新部署该功能:

gcloud functions deploy ocr-extract \
--runtime python37 \
--trigger-bucket YOUR_IMAGE_BUCKET_NAME \
--entry-point process_image \
--set-env-vars "^:^RESULT_TOPIC=YOUR_RESULT_TOPIC_NAME:TRANSLATE_TOPIC=YOUR_TRANSLATE_TOPIC_NAME:TO_LANG=en"

我已要求对教程文档进行更新,以便将来避免这种情况。