xbot.ai.BaiduAI

概述

百度OCR模块,主要是利用百度OCR引擎对文件、窗口、图片等元素进行内容识别,返回识别结果

详情

ocr_from_file

识别文件内容

ocr_from_file(self, image_path)

参数

  • image_path:需要被识别的文件路径

返回值

  • typing.List[str]:返回文件识别内容的列表

示例1

识别文件 D:\123.png 的内容

from xbot import ai

def main(args):
    ocr = ai.baidu.BaiduAI(api_key='xxx', secret_key='xxx')
    value = ocr.ocr_from_file('D:\\123.png')

ocr_from_window

识别窗口内容

ocr_from_window(self, hwnd, region=None)

参数

  • hwnd:窗口句柄, 等于0时则识别当前选中(激活)的窗口

  • region:需要识别的窗口区域列表, 默认为None识别整个窗口

  • 'region[0]':选中区域的左侧横坐标

  • 'region[1]':选中区域的左侧纵坐标

  • 'region[2]':选中区域的右侧横坐标

  • 'region[3]':选中区域的右侧纵坐标

返回值

  • typing.List[str]:返回窗口识别内容的列表

示例1

识别句柄为 0x10412c 窗口的内容

from xbot import ai

def main(args):
    ocr = ai.baidu.BaiduAI(api_key='xxx', secret_key='xxx')
    value = ocr.ocr_from_window(0x10412c, None)

示例2

识别句柄为 0x10412c 窗口指定区域的内容

from xbot import ai

def main(args):
    ocr = ai.baidu.BaiduAI(api_key='xxx', secret_key='xxx')
    value = ocr.ocr_from_window(0x10412c, [100, 100, 200, 200])

ocr_from_screen

识别屏幕内容

ocr_from_screen(self, region=None)

参数

  • region:需要识别的屏幕区域列表,默认为None识别整个屏幕

  • 'region[0]':选中区域的左侧横坐标

  • 'region[1]':选中区域的左侧纵坐标

  • 'region[2]':选中区域的右侧横坐标

  • 'region[3]':选中区域的右侧纵坐标

返回值

  • typing.List[str]:返回屏幕识别内容的列表

示例1

对屏幕指定区域进行截图并识别

from xbot import ai

def main(args):
    ocr = ai.baidu.BaiduAI(api_key='xxx', secret_key='xxx')
    value = ocr.ocr_from_screen([100, 100, 200, 200])

ocr_from_clipboard_image

识别指定区域内容, 并将识别结果添加到剪切板中

ocr_from_clipboard_image(self)

参数

返回值

  • typing.List[str]:返回剪切板中图片识别内容的列表

示例1

对指定区域进行识别,并将识别结果添加剪切板中

from xbot import ai

def main(args):
    ocr = ai.baidu.BaiduAI(api_key='xxx', secret_key='xxx')
    ocr.ocr_from_clipboard_image()

general_basic

通用文字识别(标准版)

general_basic(self, xbot_image, detect_direction = False, detect_language = False, paragraph = False, probability = False)

参数

  • xbot_image:OCR图像对象
  • detect_direction:是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: true:检测朝向;false:不检测朝向
  • detect_language:是否检测语言,默认不检测。当前支持(中文、英语、日语、韩语)
  • paragraph:是否输出段落信息
  • probability:是否返回识别结果中每一行的置信度

返回值

  • dict:识别结果

示例1

识别屏幕中的文字

import xbot
from xbot import print, sleep
from .import package

def main(args):
    ocr_engine = xbot.ai.BaiduAI()
    ocr_image = xbot.ai.XbotImage.from_screen()
    ocr_result = ocr_engine.general_basic(ocr_image)
    for word in ocr_result['words']:
        print(word['text'])

accurate_basic

通用文字识别(高精度版)

accurate_basic(self, xbot_image, detect_direction = False, paragraph = False, probability = False)

参数

  • xbot_image:OCR图像对象
  • detect_direction:是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: true:检测朝向;false:不检测朝向
  • paragraph:是否输出段落信息
  • probability:是否返回识别结果中每一行的置信度

返回值

  • dict:识别结果

示例1

识别屏幕中的文字

import xbot
from xbot import print, sleep
from .import package

def main(args):
    ocr_engine = xbot.ai.BaiduAI()
    ocr_image = xbot.ai.XbotImage.from_screen()
    ocr_result = ocr_engine.accurate_basic(ocr_image)
    for word in ocr_result['words']:
        print(word['text'])

general

通用文字识别(标准含位置版)

general(self, xbot_image, recognize_granularity = "big", detect_direction = False, detect_language = False, paragraph = False, vertexes_location = False, probability = False)

参数

  • xbot_image:OCR图像对象
  • recognize_granularity:是否定位单字符位置,big:不定位单字符位置,默认值;small:定位单字符位置
  • detect_direction:是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: true:检测朝向;false:不检测朝向
  • detect_language:是否检测语言,默认不检测。当前支持(中文、英语、日语、韩语)
  • paragraph:是否输出段落信息
  • vertexes_location: 是否返回文字外接多边形顶点位置,不支持单字位置。默认为false
  • probability:是否返回识别结果中每一行的置信度

返回值

  • dict:识别结果

示例1

识别屏幕中的文字

import xbot
from xbot import print, sleep
from .import package

def main(args):
    ocr_engine = xbot.ai.BaiduAI()
    ocr_image = xbot.ai.XbotImage.from_screen()
    ocr_result = ocr_engine.general(ocr_image)
    for word in ocr_result['words']:
        print(word)

accurate

通用文字识别(高精度含位置版)

accurate(self, xbot_image, recognize_granularity = "big", detect_direction = False, vertexes_location = False, paragraph = False, probability = False)

参数

  • xbot_image:OCR图像对象
  • recognize_granularity:是否定位单字符位置,big:不定位单字符位置,默认值;small:定位单字符位置
  • detect_direction:是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括: true:检测朝向;false:不检测朝向
  • paragraph:是否输出段落信息
  • vertexes_location: 是否返回文字外接多边形顶点位置,不支持单字位置。默认为false
  • probability:是否返回识别结果中每一行的置信度

返回值

  • dict:识别结果

示例1

识别屏幕中的文字

import xbot
from xbot import print, sleep
from .import package

def main(args):
    ocr_engine = xbot.ai.BaiduAI()
    ocr_image = xbot.ai.XbotImage.from_screen()
    ocr_result = ocr_engine.accurate(ocr_image)
    for word in ocr_result['words']:
        print(word)

vat_invoice

增值税发票识别

vat_invoice(self, xbot_image)

参数

  • xbot_image:OCR图像对象

返回值

  • dict:识别结果

示例1

识别本地发票文件,提取发票号码

import xbot
from xbot import print, sleep
from .import package

def main(args):
    ocr_engine = xbot.ai.BaiduAI()
    ocr_image = xbot.ai.XbotImage.from_disk('D:\\ocr\\invoice.png')
    ocr_result = ocr_engine.vat_invoice(ocr_image)
    print(ocr_result['invoice_num'])

id_card

身份证识别

id_card(self, xbot_image, id_card_side = 'front', detect_risk = False, detect_photo = False)

参数

  • xbot_image:OCR图像对象

返回值

  • dict:识别结果

示例1

识别本地身份证文件,提取身份证号

import xbot
from xbot import print, sleep
from .import package

def main(args):
    ocr_engine = xbot.ai.BaiduAI()
    ocr_image = xbot.ai.XbotImage.from_disk('D:\\ocr\\id_card.png')
    ocr_result = ocr_engine.id_card(ocr_image)
    print(ocr_result['id_num'])

license_plate

车牌识别

license_plate(self, xbot_image, multi_detect = False)

参数

  • xbot_image:OCR图像对象
  • multi_detect:是否检测多张车牌,默认为false,当置为true的时候可以对一张图片内的多张车牌进行识别

返回值

  • dict:识别结果

示例1

识别本地车牌文件,提取车牌号

import xbot
from xbot import print, sleep
from .import package

def main(args):
    ocr_engine = xbot.ai.BaiduAI()
    ocr_image = xbot.ai.XbotImage.from_disk('D:\\ocr\\license_plate.png')
    ocr_result = ocr_engine.license_plate(ocr_image)
    print(ocr_result['number'])

bank_card

银行卡识别

bank_card(self, xbot_image, detect_direction = True)

参数

  • xbot_image:OCR图像对象
  • detect_direction:是否检测图像朝向,默认检测,即:true。可选值包括true - 检测朝向;false - 不检测朝向。朝向是指输入图像是正常方向、逆时针旋转90/180/270度

返回值

  • dict:识别结果

示例1

识别本地银行卡文件,提取银行卡号

import xbot
from xbot import print, sleep
from .import package

def main(args):
    ocr_engine = xbot.ai.BaiduAI()
    ocr_image = xbot.ai.XbotImage.from_disk('D:\\ocr\\bank_card.png')
    ocr_result = ocr_engine.bank_card(ocr_image)
    print(ocr_result['card_number'])

train_ticket

火车票识别

train_ticket(self, xbot_image)

参数

  • xbot_image:OCR图像对象

返回值

  • dict:识别结果

示例1

识别本地火车票文件,提取车次号

import xbot
from xbot import print, sleep
from .import package

def main(args):
    ocr_engine = xbot.ai.BaiduAI()
    ocr_image = xbot.ai.XbotImage.from_disk('D:\\ocr\\train_ticket.png')
    ocr_result = ocr_engine.train_ticket(ocr_image)
    print(ocr_result['train_num'])

taxi_invoice

出租车票识别

taxi_invoice(self, xbot_image)

参数

  • xbot_image:OCR图像对象

返回值

  • dict:识别结果

示例1

识别本地出租车票文件,提取发票号码

import xbot
from xbot import print, sleep
from .import package

def main(args):
    ocr_engine = xbot.ai.BaiduAI()
    ocr_image = xbot.ai.XbotImage.from_disk('D:\\ocr\\taxi_invoice.png')
    ocr_result = ocr_engine.taxi_invoice(ocr_image)
    print(ocr_result['invoice_num'])

table

表格识别

table(self, xbot_image)

参数

  • xbot_image:OCR图像对象

返回值

  • dict:识别结果

示例1

识别本地含有表格的图片,提取表格信息

import xbot
from xbot import print, sleep
from xbot.ai.xbotimage import XbotImage
from .import package

def main(args):
    engine = xbot.ai.BaiduAI()
    img = XbotImage.from_disk(r'D:\\ocr\\table.jpg')
    table_result = engine.table(img)
    for form in table_result['forms']:
        for form_cell in form['form_cells']:
            print(form_cell)
问题没有解决?去社区提问 all right reserved,powered by Gitbook

results matching ""

    No results matching ""