帮助中心
快速寻找答案
首页>帮助手册>

xbot.ai.TencentAI

描述:腾讯OCR模块,主要是利用腾讯OCR引擎对文件、窗口、图片等元素进行内容识

ocr_from_file()

识别文件内容

ocr_from_file(self, image_path)

参数

image_path:识别文件的路径

返回值

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

示例1

from xbot import ai
def main(args):
ocr = ai.tencent.TencentAI(api_key='xxx', secret_key='xxx')
value = ocr.ocr_from_file('D:\\123.png')
print(value)

该示例执行逻辑: 识别文件 "D:\123.png" 的内容--> 打印识别内容

ocr_from_window()

识别窗口内容

ocr_from_window(self, hwnd, region=None)

输入参数

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

region:需要识别的屏幕区域列表,默认为None识别整个屏幕。也可以传入列表,确定上下左右位置。如:[100, 100, 200, 200] 分别对应 选中区域的左侧横坐标、左侧纵坐标、右侧横坐标和右侧纵坐标

返回值

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

示例1

from xbot import ai
def main(args):
ocr = ai.tencent.TencentAI(api_key='xxx', secret_key='xxx')
value = ocr.ocr_from_window(0x10412c, None)
print(value)

该示例执行逻辑: 识别句柄为 0x10412c 窗口的内容 --> 打印输出识别结果

示例2

from xbot import ai
def main(args):
ocr = ai.tencent.TencentAI(api_key='xxx', secret_key='xxx')
value = ocr.ocr_from_window(0x10412c, [100, 100, 200, 200])
print(value)

该示例执行逻辑: 识别句柄为 0x10412c 窗口的内容,坐标为 (100, 100, 200, 200) --> 打印输出识别结果

ocr_from_screen()

识别屏幕内容

ocr_from_screen(self, region=None)

输入参数

region:需要识别的屏幕区域列表,默认为None识别整个屏幕。也可以传入列表,确定上下左右位置。如:[100, 100, 200, 200] 分别对应 选中区域的左侧横坐标、左侧纵坐标、右侧横坐标、右侧纵坐标

返回值

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

示例1

from xbot import ai
def main(args):
ocr = ai.tencent.TencentAI(api_key='xxx', secret_key='xxx')
value = ocr.ocr_from_screen([100, 100, 200, 200])
print(value)

该示例执行逻辑: 识别屏幕指定区域的内容,坐标为 (100, 100, 200, 200) 四点所连成的区域 --> 打印输出识别结果

ocr_from_clipboard_image()

识别剪切板中的图片内容

ocr_from_clipboard_image(self)

输入参数

返回值

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

示例1

from xbot import ai
def main(args):
ocr = ai.tencent.TencentAI(api_key='xxx', secret_key='xxx')
data_list=ocr.ocr_from_clipboard_image()
print(data_list)

该示例执行逻辑: 识别剪切板中的图片 --> 打印输出识别结果列表

general_basic()

通用印刷体识别

general_basic(self, xbot_image, is_pdf = False, pdf_page_number = 1)

输入参数

xbot_image:OCR图像对象

is_pdf:是否开启PDF识别,默认值为False(不开启)

pdf_page_number:需要识别的PDF页面的对应页码,仅支持PDF单页识别。当上传文件为PDF且is_pdf参数值为True时有效。默认值为1

返回值

dict:识别结果

示例1

识别屏幕中的文字

import xbot
from xbot import print, sleep
from .import package
def main(args):
ocr_engine = xbot.ai.tencent.TencentAI(api_key='xxx', secret_key='xxx')
ocr_image = xbot.ai.XbotImage.from_screen()
ocr_result = ocr_engine.general_basic(ocr_image)
for word in ocr_result['words']:
print(word)

该示例执行逻辑: 创建屏幕图片对象 --> 调用标准版通用文字识别图片对象文字结果 --> 打印识别结果

general_accurate()

通用印刷体识别(高精度版)

general_accurate(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.tencent.TencentAI(api_key='xxx', secret_key='xxx')
ocr_image = xbot.ai.XbotImage.from_screen()
ocr_result = ocr_engine.general_accurate(ocr_image)
for word in ocr_result['words']:
print(word)

该示例执行逻辑: 创建屏幕图片对象 --> 调用高精度版文字识别图片对象文字结果 --> 打印识别结果

general_efficient()

通用印刷体识别(精简版)

general_efficient(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.tencent.TencentAI(api_key='xxx', secret_key='xxx')
ocr_image = xbot.ai.XbotImage.from_screen()
ocr_result = ocr_engine.general_efficient(ocr_image)
for word in ocr_result['words']:
print(word)

该示例执行逻辑: 创建屏幕图片对象 --> 调用精简版文字识别图片对象文字结果 --> 打印识别结果

general_fast()

通用印刷体识别(高速版)

general_fast(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.tencent.TencentAI(api_key='xxx', secret_key='xxx')
ocr_image = xbot.ai.XbotImage.from_screen()
ocr_result = ocr_engine.general_fast(ocr_image)
for word in ocr_result['words']:
print(word)

该示例执行逻辑: 创建屏幕图片对象 --> 调用高速版文字识别图片对象文字结果 --> 打印识别结果

vat_invoice()

增值税发票识别

vat_invoice(self, xbot_image, is_pdf = False, pdf_page_number = 1)

输入参数

xbot_image:OCR图像对象

is_pdf:是否开启PDF识别,默认值为False(不开启)

pdf_page_number:需要识别的PDF页面的对应页码,仅支持PDF单页识别。当上传文件为PDF且is_pdf参数值为True时有效。默认值为1

返回值

dict:识别结果

示例1

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

import xbot
from xbot import print, sleep
from .import package
def main(args):
ocr_engine = xbot.ai.tencent.TencentAI(api_key='xxx', secret_key='xxx')
ocr_image = xbot.ai.XbotImage.from_disk('D:\\invoice.png')
ocr_result = ocr_engine.vat_invoice(ocr_image)
print(ocr_result['invoice_num'])

该示例执行逻辑: 创建发票图片对象,来源为 "D:\invoice.png" --> 调用发票接口识别 --> 打印发票号码

id_card()

身份证识别

id_card(self, xbot_image, card_side = 'FRONT', crop_idcard = False, crop_portrait = False, quality = False, multi_card_detect = False, copy_warn = False, border_check_warn = False, reshoot_warn = False, detect_ps_warn = False, tempid_warn = False, invalid_date_warn = False, reflect_warn = False)

输入参数

xbot_image:OCR图像对象

card_side:是否开启PDF识别,默认值为False(不开启)

crop_idcard:是否裁剪身份证照片(去掉证件外多余的边缘、自动矫正拍摄角度),默认值为False(不开启)

crop_portrait:是否进行人像照片裁剪(自动抠取身份证头像区域),默认值为False(不裁剪)

quality:是否返回图片质量分数(评价图片的模糊程度),开启时,返回值中会返回质量分数,默认值为False(不返回)

multi_card_detect:是否开启多卡证检测,默认值为False(不开启)

copy_warn:是否开启复印件告警,默认值为False(不开启)

border_check_warn:是否开启边框和框内遮挡告警,默认值为False(不开启)

reshoot_warn:是否开启翻拍告警,默认值为False(不开启)

detect_ps_warn:是否开启PS检测告警,默认值为False(不开启)

tempid_warn:是否开启临时身份证告警,默认值为False(不开启)

invalid_date_warn:是否开启身份证有效日期不合法告警,默认值为False(不开启)

reflect_warn:是否开启反光检测,默认值为False(不开启)

返回值

dict:识别结果

示例1

import xbot
from xbot import print, sleep
from .import package
def main(args):
ocr_engine = xbot.ai.tencent.TencentAI(api_key='xxx', secret_key='xxx')
ocr_image = xbot.ai.XbotImage.from_disk('D:\\id_card.png')
ocr_result = ocr_engine.id_card(ocr_image)
print(ocr_result['id_num'])

该示例执行逻辑: 创建身份证图片对象,来源为 "D:\id_card.png" --> 调用身份证识别接口 --> 打印身份证号码识别结果

license_plate()

车牌识别

license_plate(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.tencent.TencentAI(api_key='xxx', secret_key='xxx')
ocr_image = xbot.ai.XbotImage.from_disk('D:\\license_plate.png')
ocr_result = ocr_engine.license_plate(ocr_image)
print(ocr_result['number'])

bank_card()

银行卡识别

bank_card(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.tencent.TencentAI(api_key='xxx', secret_key='xxx')
ocr_image = xbot.ai.XbotImage.from_disk('D:\\bank_card.png')
ocr_result = ocr_engine.bank_card(ocr_image)
print(ocr_result['card_number'])

该示例执行逻辑: 创建本地银行卡图片对象,来源为 "D:\bank_card.png" --> 调用银行卡识别接口识别图片 --> 打印卡号

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.tencent.TencentAI(api_key='xxx', secret_key='xxx')
ocr_image = xbot.ai.XbotImage.from_disk('D:\\train_ticket.png')
ocr_result = ocr_engine.train_ticket(ocr_image)
print(ocr_result['train_num'])

该示例执行逻辑: 创建本地火车票图片对象,来源为 "D:\train_ticket.png" --> 调用火车票接口识别图片 --> 打印火车票车次号

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.tencent.TencentAI(api_key='xxx', secret_key='xxx')
ocr_image = xbot.ai.XbotImage.from_disk('D:\\taxi_invoice.png')
ocr_result = ocr_engine.taxi_invoice(ocr_image)
print(ocr_result['invoice_num'])

该示例执行逻辑: 创建本地出租车机打发票图片对象,来源为 "D:\taxi_invoice.png" --> 调用出租车发票接口识别图片 --> 打印发票号码

table()

表格识别

table(self, xbot_image, is_pdf = False, pdf_page_number = 1)

输入参数

xbot_image:OCR图像对象

is_pdf:是否开启PDF识别,默认值为False(不开启)

pdf_page_number:需要识别的PDF页面的对应页码,仅支持PDF单页识别。当上传文件为PDF且is_pdf参数值为True时有效。默认值为1

返回值

dict:识别结果

示例1

import xbot
from xbot import print, sleep
from xbot.ai.xbotimage import XbotImage
from .import package
def main(args):
engine = xbot.ai.tencent.TencentAI(api_key='xxx', secret_key='xxx')
img = XbotImage.from_disk('D:\\table.jpg')
table_result = engine.table(img)
for form in table_result['forms']:
for form_cell in form['form_cells']:
print(form_cell)

该示例执行逻辑: 创建本地表格图片对象,来源为 "D:\table.jpg" --> 调用表格接口识别图片 --> 打印单元格内容

问题没有解决?去社区提问