在我的一个项目中,我一直在使用Google Cloud API OCR tool (https://cloud.google.com/functions/docs/tutorials/ocr)从扫描的图像中提取文本。图像为.png格式。我按照每个说明安装了用于OCR的云API。但是,我在云存储的Input image Bucket中上传图片时,在result Bucket中没有看到结果。但是,我注意到,如果我在下面的部署函数中将参数作为"fr“或"es”传递,结果确实会显示在result Bucket中。我在结果存储桶中看不到"TO_LANG=en“参数的任何结果。
使用云硬盘触发器部署图像处理功能:
gcloud functions deploy ocr-extract --runtime python37 --trigger-bucket etdimage --entry-point process_image --set-env-vars "TRANSLATE_TOPIC=extractData,TO_LANG=en”但是结果必须是英文的。有没有办法解决这个问题?为了您的方便,我附上了一张图片。我将非常感谢你的帮助。
谢谢,
Muntabir Choudhury

发布于 2020-08-21 15:52:38
感谢你分享这张图片和富有洞察力的评论。
我已经尝试将共享的图像上传到存储桶中,并且我确认没有在结果存储桶中创建任何文件。此外,我还可以在日志中看到一个KeyError异常,该异常导致ocr-extract函数崩溃。
在检查repo代码后,我发现在54-70行中,当源语言与结果语言相同时,函数将直接将结果发送到ocr-save函数,而不是调用ocr- function。问题是在创建函数时没有定义环境变量RESULT_TOPIC,这导致了崩溃。
要解决这个问题,请转到控制台UI的functions选项卡,然后编辑ocr-extract函数,包括上面提到的env var。或者,您也可以使用云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"我已经请求对教程文档进行更新,以便在将来避免这种情况。
https://stackoverflow.com/questions/63495194
复制相似问题