Python基于百度API 图片识别+文字转语音

#!/usr/bin/env python3
# -*- coding: utf-8 -*-


__author__ = 'Cavin Cao'

'''
    功能:利用百度官方api,读取图片中的文字,同时将文字转换成语音
    官方地址:http://ai.baidu.com/docs#/OCR-Python-SDK/top
'''


from aip import AipOcr,AipSpeech


""" 你的 APPID AK SK """
# 定义常量
# APP_ID = '10736496' #你百度帐号上的APP_ID
# API_KEY = 'xLwFVx76ZmGujNxFGSGp8wUc' #你百度帐号上的API_KEY
# SECRET_KEY = 'H6jpVPX3wRdcxKf59r0qoGvG6zfHnMEk'#你百度帐号上的SECRET_KEY

APP_ID = '15787393'
API_KEY = 'SVRbGgWGrM2wLhK5vCGZ5wYy'
SECRET_KEY = 'cyZkloIoexs3Gb8qkXw4MEGbhvB3bA8R'

clientAipOcr = AipOcr(APP_ID, API_KEY, SECRET_KEY)
clientAipSpeech = AipSpeech(APP_ID, API_KEY, SECRET_KEY)

#测试图片
picture_url="http://image.bug2048.com/mongo20180906.jpg"


""" 读取图片 """
def get_file_content(filePath):
    with open(filePath, 'rb') as fp:
        return fp.read()

"""
    1.调用文字识别API识别图片上的文字
    2.拼接文字后调用语音合成API转换成语音
"""

def convert_picture_words():
    words=''
    wordsResult=clientAipOcr.basicGeneralUrl(picture_url)
    for item in wordsResult['words_result']:
        words+=item['words']+','
    if words=='':
        return
    words=words[:-1]
    print('words-',words)
    speechResult=clientAipSpeech.synthesis(str(words), 'zh', 1, {
        'vol': 5,
        'per': 3
    })
    print('result',speechResult)

    # 识别正确返回语音二进制 错误则返回dict 参照下面错误码
    if not isinstance(speechResult, dict):
        with open('result.mp3', 'wb') as f:
            f.write(speechResult)
            print('oook')


if __name__ == '__main__':
    convert_picture_words()

你可能感兴趣的:(python,图文识别,语音合成,python)