xbot.ai.TencentAI
概述
腾讯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.tencent.TencentAI(secret_id='xxxxx', secret_key='xxxxx')
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.tencent.TencentAI(secret_id='xxxxx', secret_key='xxxxx')
value = ocr.ocr_from_window(0x10412c, None)
示例2
识别句柄为 0x10412c 窗口指定区域的内容
from xbot import ai
def main(args):
ocr = ai.tencent.TencentAI(secret_id='xxxxx', secret_key='xxxxx')
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.tencent.TencentAI(secret_id='xxxxx', secret_key='xxxxx')
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.tencent.TencentAI(secret_id='xxxxx', secret_key='xxxxx')
ocr.ocr_from_clipboard_image()
general_basic
通用印刷体识别
general_basic(self, xbot_image, is_pdf = False, pdf_page_number = 1)
参数
- xbot_image:OCR图像对象
- is_pdf:是否开启PDF识别,默认值为false,开启后可同时支持图片和PDF的识别
- 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.TencentAI()
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.TencentAI()
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.TencentAI()
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.TencentAI()
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的识别
- 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.TencentAI()
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, 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,开启后可同时支持图片和PDF的识别
- crop_idcard:身份证照片裁剪(去掉证件外多余的边缘、自动矫正拍摄角度)
- crop_portrait:人像照片裁剪(自动抠取身份证头像区域)
- quality:图片质量分数(评价图片的模糊程度)
- multi_card_detect:是否开启多卡证检测
- copy_warn:复印件告警
- border_check_warn:边框和框内遮挡告警
- reshoot_warn:翻拍告警
- detect_ps_warn:PS检测告警
- tempid_warn:临时身份证告警
- invalid_date_warn:身份证有效日期不合法告警
- reflect_warn:是否开启反光检测
返回值
- dict:识别结果
示例1
识别本地身份证文件,提取身份证号
import xbot
from xbot import print, sleep
from .import package
def main(args):
ocr_engine = xbot.ai.TencentAI()
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)
参数
- xbot_image:OCR图像对象
返回值
- dict:识别结果
示例1
识别本地车牌文件,提取车牌号
import xbot
from xbot import print, sleep
from .import package
def main(args):
ocr_engine = xbot.ai.TencentAI()
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)
参数
- xbot_image:OCR图像对象
返回值
- dict:识别结果
示例1
识别本地银行卡文件,提取银行卡号
import xbot
from xbot import print, sleep
from .import package
def main(args):
ocr_engine = xbot.ai.TencentAI()
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.TencentAI()
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.TencentAI()
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, is_pdf = False, pdf_page_number = 1)
参数
- xbot_image:OCR图像对象
- is_pdf:是否开启PDF识别,默认值为false,开启后可同时支持图片和PDF的识别
- pdf_page_number:需要识别的PDF页面的对应页码,仅支持PDF单页识别,当上传文件为PDF且IsPdf参数值为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.TencentAI()
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)