日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

名片识别信息分类python_python体验名片识别OCR

發布時間:2024/7/23 python 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 名片识别信息分类python_python体验名片识别OCR 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我想使用名片識別OCR,主要研究了騰訊云的智能映像和騰訊Youtu.

解析后的漢字直接是unicode,例如u'\ u90e8 \ u95e8 \ u526f \ u603b \ u7ecf \ u7406',根據騰訊的文檔,代碼經驗:

首先,介紹一下.

import time

import random

import hmac, hashlib

import binascii

import base64

import requests

import os

import json

然后根據文檔生成簽名(簽名權),此步驟不是很順利. 在需要替換的位置中,自己查找文件名片識別服務,例如appid,secret_id,secret_key. 至于水桶,我不明白它的用途.

appid = 'your app id' #自己填

secret_id = 'your secret id' #自己填

secret_key = 'your secret key' #自己填

bucket= 'seem no use' #自己填

# 還有個https的,我沒試

url = 'http://recognition.image.myqcloud.com/ocr/businesscard'

now = int(time.time())

rdm = random.randint(0,9999999999)

expired = now + 2592000 #一個月

plain_text = 'a='+appid+'&b='+bucket+'&k='+secret_id+'&e='+str(expired)+'&t='+str(now)+'&r='+str(rdm)+'&u=0&f='

bin = hmac.new(secret_key.encode(), plain_text.encode(), hashlib.sha1)

s = bin.hexdigest()

s = binascii.unhexlify(s)

s = s + plain_text.encode('ascii')

signature = base64.b64encode(s).rstrip() # 生成簽名

print(signature)

接下來,有兩種情況. 如果要識別的圖像是URL,則相對簡單. 設置標題和數據以發送請求. 圖片網址以Utop為例. 只需打印出結果即可.

headers = {

'Authorization': signature,

'content-type': 'application/json',

}

data = {

'appid': appid,

'url_list': ['http://yoututest-1251966477.cossh.myqcloud.com/mingpian.jpg']

}

r = requests.post(url, headers=headers, data = json.dumps(data))

ret = r.json()

print(ret)

因為我不熟悉'content-type'的請求: 'multipart / form-data',所以研究了很長時間名片識別服務,后來發現它實際上很簡單.

headers = {

'Authorization': signature,

# 不用設置content-type!!!

}

files = {

'appid': appid,

# 可以多張圖片,但是必須image開頭,路徑自己設置好

'image[0]': ( 'image[0].jpeg', open(os.path.abspath('mingpian0.jpeg'), 'rb'), 'image/jpeg', {}),

# 'image[1]': ( 'image[1].jpeg', open(os.path.abspath('mingpian1.jpeg'), 'rb'), 'image/jpeg', {}),

}

r = requests.post(url, headers=headers, files=files)

ret = r.json()

print(ret)

您是否發現該水桶根本沒有用過,沒有從我的賬戶中扣除任何錢?也許是因為騰訊云提前付款并在下個月扣除了這筆錢嗎?等一下.

Youtube的演示做得很好,吸引了我,但是關于識別結果,有幾點需要注意: 首先,返回的結果很多,可能是一些原始數據. 第二,我沒有得到漢字的結果編碼. 它以\ x開頭. 在這里,我仍然會體驗到它,參考文檔,它與上面的騰訊云沒有太大區別.

順便說一下,Youtu演示具有python代碼. 我也從這里的簡化中借用了. 每個人都知道,如果我不再次敲它,我會認為那不是真的.

首先介紹一堆.

# import 跟上面一樣吧

簽名部分也相似,但是存儲桶已經成為申請Youtu的qq號,隨便寫這個字段似乎也可以.

appid = 'your app id' # 在優圖申請應用后就得到

secret_id = 'your secret id' # 在優圖申請應用后就得到

secret_key = 'your secret key' # 在優圖申請應用后就得到

userid= 'your qq number'

url = 'http://api.youtu.qq.com/youtu/ocrapi/bcocr'

now = int(time.time())

rdm = random.randint(0,9999999999)

expired = now + 2592000

plain_text = 'u=' + userid + '&a=' + appid + '&k=' + secret_id + '&e=' + str(expired) + '&t=' + str(now) + '&r=' + str(rdm) + '&f='

bin = hmac.new(secret_key.encode(), plain_text.encode(), hashlib.sha1)

s = bin.hexdigest()

s = binascii.unhexlify(s)

s = s + plain_text.encode('ascii')

signature = base64.b64encode(s).rstrip() # 生成簽名

print(signature)

還有兩種情況,使用url和image,但是Utop的image方法實際上被轉換為base64字符串,這相對簡單.

headers = {

'Authorization': signature,

'Content-Type': 'text/json',

}

data = {

'app_id': appid,

'session_id': '',

}

# 下面自行選擇字段

data['url'] = 'http://yoututest-1251966477.cossh.myqcloud.com/mingpian.jpg'

data["image"] = base64.b64encode(open(os.path.abspath('mingpian.jpeg'), 'rb').read()).rstrip().decode('utf-8')

r = requests.post(url, headers=headers, data = json.dumps(data))

ret = r.json()

print(ret)

我不會發布返回的結果.

本文來自電腦雜談,轉載請注明本文網址:

http://www.pc-fly.com/a/ruanjian/article-208056-1.html

總結

以上是生活随笔為你收集整理的名片识别信息分类python_python体验名片识别OCR的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。