首页 > 解决方案 > 如何仅在 python 中使用云视觉 api 检测特定语言而忽略其他语言?

问题描述

我想从图像中检测韩语,并且只检测韩语。即使它出现在图像中,我也不想检测到英语。我似乎无法在互联网上找到任何可以为我做到这一点的方法。

我试过的:

我知道该image_context属性,并且已经在使用它来仅提及韩语,但这并没有忽略英文文本。我做了:

response = client.document_text_detection(image=image, image_context={"language_hints": ["ko"]})

我想要的是?

有没有办法不从图像中检测到英语?

或者有没有办法阻止某些符号被检测到?

标签: pythoncomputer-visionocrgoogle-cloud-vision

解决方案


我相信该image_context属性不用于限制您要在单个图像上提取的语言。它的作用恰恰相反,因为它有助于放大并获得更好的结果来理解语言。1

不需要向服务提供语言提示,但如果服务无法检测到图像中使用的语言,则可以这样做。

如果语言提示留空,我们将尝试自动检测最合适的语言。TEXT_DETECTION 端点将仅自动检测支持的语言的一个子集,而 DOCUMENT_TEXT_DETECTION 端点将自动检测全部支持的语言集。

实现您的用例的一种方法可能是通过处理来自 Vision API 的返回响应。您可以只提取韩文字符或排除带有英文文本的结果。

"textAnnotations": [
    {
      "locale": "ko",
      "description": "牛牛面馆\n",
      "boundingPoly": {
        "vertices": [
          {
            "x": 159,
            "y": 212
          },
          {
            "x": 947,
            "y": 212
          },
          {
            "x": 947,
            "y": 354
          },
          {
            "x": 159,
            "y": 354
          }
        ]
      }
    },

或者,您可以为此提交功能请求。


推荐阅读