DocumentAI 检测图像中是否包含非文本视觉元素

问题描述 投票:0回答:1

我的大多数目标图像仅包含文本元素,这是预期的,因为我的主要目的是从中提取文本。但有些目标图像包含非文本视觉元素(文档中的实际图像),我想知道其中哪些是这样的。

DocumentAI 有办法做到这一点吗?

我尝试使用 Python 检查

block
page
对象的
DocumentAI
的面积来检测图像:

def has_visual_elements(page):
    """Checks if a page likely contains non-text visual elements."""
    for block in page.blocks:
        if block.layout:
            layout = block.layout.bounding_poly
            # Calculate the area of the bounding box
            width = layout.vertices[2].x - layout.vertices[0].x
            height = layout.vertices[2].y - layout.vertices[0].y
            area = abs(width * height)

            if area > 10000:
                return True
    return False

如果

area
大于某个值,则其中可能存在非文本视觉元素。但某些仅包含文本元素的图像会返回较大的
area
值。所以这无法解决。

其中包含非文本视觉元素的图像: enter image description here

ocr cloud-document-ai google-cloud-document-ai
1个回答
0
投票

Document AI 专注于提取文本内容,而不是在其标准文本输出格式中明确标记非文本视觉元素的存在。

如果您的目标是识别非文本视觉元素,我认为更好的方法是使用 Vision API 对象本地化。每个

LocalizedObjectAnnotation
标识有关对象、对象位置以及包含对象的图像区域的矩形边界的信息。

只需按照以下步骤了解如何设置您的 Vision API。

© www.soinside.com 2019 - 2024. All rights reserved.