python調用百度圖片識別api


一.先去百度識別官網注冊開通服務且獲得ak和sk

鏈接:https://cloud.baidu.com/doc/Reference/s/9jwvz2egb

二.代碼模板

import cv2
import base64
import requests
import numpy as np
import traceback
from retrying import retry

token_list=[
    {
        "ak":"xxxxxx",
        "sk":"xxxxxxxxxx"
    },
]

def get_token(ak,sk):
    url = "https://aip.baidubce.com/oauth/2.0/token"
    params = {
        "grant_type": "client_credentials",
        "client_id": ak,  # AK
        "client_secret": sk  # SK
    }
    eaders={
        "Content-Type":"application/json; charset=UTF-8",
    }
    response = requests.get(url,params=params,headers=headers,timeout=8)
    res = response.json()
    access_token = res["access_token"]
    return access_token



def baidu_api(image,token):
    """
    百度通用文字識別
    :return:
    """
    # 通用文本識別接口
    url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic"
    # 網絡圖片識別接口
    # url = "https://aip.baidubce.com/rest/2.0/ocr/v1/webimage"
    params = {
        "access_token": token,
    }
    data = {
        "image": base64.b64encode(image)  #圖標的bs64編碼
    }
    response = requests.post(url, params=params, data=data)
    data_res = response.json()
    print(data_res)
    words = [i["words"] for i in data_res["words_result"]]
    return words

def baidu_image_recognition(img_content):
    img2=img_content
    for i in range(len(token_list)):
        token = get_token(token_list[i]["ak"], token_list[i]["sk"])
        words = baidu_api(img2,token)
    	return words


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM