android 名片识别 简书,python 腾讯API 名片识别 通用图片转文字

本文介绍了如何使用腾讯AI开放平台的OCR技术进行名片和图片的文字识别。通过调用API并实现签名方法,可以免费利用腾讯的名片OCR服务,高效准确地提取名片上的信息。同时,也展示了通用图片识别API的使用,用于识别图片中的文字。
摘要由CSDN通过智能技术生成

记录名片识别和图片转文字。

腾讯AI开放平台提供的名片OCR很强大, 而且可以免费使用, 所以本文使用的是腾讯AI开放平台。

腾讯AI开放平台API调用需要注意签名方法, 请查看之前文章传送门

名片OCR API

import logging

logger = logging.getLogger(__name__)

import base64

import time

import requests

import json

def bc_ocr(_path = None, _byte = None):

''' 腾讯AI名片识别

_path和_byte必须存在一个, 优先级 _byte > _path

:param _path:

:param _bytes:

:return:

'''

try:

if _path is None and _byte is None: return

if _byte is None:

with open(_path, 'rb') as f:

_byte = f.read()

if _byte is None: return

APP_ID = '你的 App ID'

API_KEY = '你的 Api Key'

b_str = base64.b64encode(_byte)

params = {'app_id': APP_ID, 'time_stamp':int(time.time()), 'nonce_str': 'fa577ce340859f9fe', 'image': b_str}

sign = get_sign_code(params, API_KEY)

params['sign'] = sign

url = 'https://api.ai.qq.com/fcgi-bin/ocr/ocr_bcocr'

rt = requests.post(url, data=params)

jsonData = json.loads(rt.text)

logger.info('腾讯名片OCR结果:[{}]'.format(jsonData))

if jsonData.get('ret') == 0:

return jsonData.get('data')

except Exception as e:

logger.error('tencen business_card_ocr error [{}]'.format(e))

通用图片识别 API

import logging

logger = logging.getLogger(__name__)

import base64

import time

import requests

import json

def ocr(_path = None, _byte = None):

'''腾讯 图片识别

_path和_byte必须存在一个, 优先级 _byte > _path

:param _path:

:param _byte:

:return:

'''

try:

if _path is None and _byte is None: return

if _byte is None:

with open(_path, 'rb') as f:

_byte = f.read()

if _byte is None: return

APP_ID = '你的 App ID'

API_KEY = '你的 Api Key'

image_str = base64.b64encode(_byte)

url = 'https://api.ai.qq.com/fcgi-bin/ocr/ocr_generalocr'

params = {'app_id': APP_ID, 'time_stamp':int(time.time()), 'nonce_str': 'fa577ce340859f9fe', 'image': image_str}

sign = get_sign_code(params, API_KEY)

params['sign'] = sign

rt = requests.post(url, data=params)

jsonData = json.loads(rt.text)

if jsonData.get('ret') == 0:

item_list = jsonData.get('data').get('item_list')

return '\r\n'.join([item.get('itemstring') for item in item_list])

except Exception as e:

logger.error('tencen ocr error [{}]'.format(e))

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值