百度翻译图片翻译API Python调用
百度翻译的图片翻译API效果还不错,能实现整图的译文实景贴合,对于部分场景很有帮助,我也尝试着接入了下。
实现需求:本地的文件夹有n张图片,将这些图片挨个去请求百度的图片翻译API,然后将识别结果分别保存,翻译后的译文图单独存为文件,翻译后的识别结果和位置等json数据单独存为txt文件。
具体源码如下:
# -*- coding: utf-8 -*-import requests
import random
import json
import os
import sys
import base64
from hashlib import md5#定义APPID和appkey,需要去百度翻译开放平台申请
app_id = 'XXX'
app_key = 'XXX'#从文件夹中取出图片文件名
ocr_path='/Users/lid/downloads/图片'
file_path=os.listdir(ocr_path)#去掉取出来的.Ds_Store(针对Mac系统)
for x in file_path:if x.startswith('.'):file_path.remove(x)#针对每一个图片文件,调图片翻译API得到翻译后的图片
for x in file_path:file_name = x#拼接请求接口endpoint = 'https://tuna.thesaurus.com'path = '/pageData/{}'.format(a)url = endpoint + pathheader={'user-agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36'}cookies=#定义请求参数:源语言、目标语言、cuid、mac、paste、versionfrom_lang = 'en'to_lang = 'zh'cuid = 'APICUID'mac = 'mac'version = 3paste = 1#paste=1表示返回整图贴合,0表示不返回,2表示返回块区擦除# 生成 salt and signdef get_md5(string, encoding='utf-8'):return md5(string.encode(encoding)).hexdigest()def get_file_md5(file_name):with open(os.path.join(ocr_path,file_name), 'rb') as f:data = f.read()return md5(data).hexdigest()salt = random.randint(32768, 65536)sign = get_md5(app_id + get_file_md5(file_name) + str(salt) + cuid + mac + app_key)# 构建请求参数payload = {'from': from_lang, 'to': to_lang, 'appid': app_id, 'salt': salt, 'sign': sign, 'cuid': cuid, 'mac': mac, 'paste': paste, 'version': version}image = {'image': (os.path.basename(file_name), open(os.path.join(ocr_path,file_name), 'rb'), "multipart/form-data")}# 发送请求response = requests.post(url, params = payload, files = image)#输出请求返回的结果result = response.json()print(json.dumps(result,indent=4,ensure_ascii=False))#处理请求回来的json,得到base64图片trans= result['data']trans_end= trans['pasteImg']#base64图片保存成图片,存到原文件夹目录下,文件名后带_transimgdata = base64.b64decode(trans_end)a=os.path.splitext(file_name)file_name1=a[0]+'_trans.jpg'with open(os.path.join(ocr_path,file_name1), 'wb') as f:f.write(imgdata)#识别结果保存成文本,存到原文件夹目录下,文件名后带_transfile_name2=a[0]+'_trans.txt'with open(os.path.join(ocr_path,file_name2), 'w+') as f:f.write(json.dumps(result,indent=4,ensure_ascii=False))
百度翻译图片翻译API Python调用相关推荐
- 百度云平台语音合成接口python调用
百度云平台是一个功能非常强大的开放平台,平台提供了许多开放的API接口给用户,用户通过注册百度云账号就可以申请到调用API接口的密钥.同时百度云给用户提供了各种开发语言的SDK,用户可以免费下载使用. ...
- 百度云 文字识别API在线调用测试
1.0:百度云文字识别应用创建 1.1:找到文字识别产品 1.2:点击使用文字识别 1.3:点击创建应用 1.4:点击 查看应用 ,并输入基本信息,点击立即创建 2.0:token 获取 2.1:找 ...
- ElasticSearch的API python调用
os json datetime datetime django.http HttpResponse reelasticsearch Elasticsearches = Elasticsearch([ ...
- python实现简单的api接口-简单实现Python调用有道API接口(最新的)
# ''' # Created on 2018-5-26 # # @author: yaoshuangqi # ''' import urllib.request import urllib.pars ...
- python实现文本审核_百度AI文本审核API使用说明
虽然,虽然,虽然,今天: 百度发布了2019年第一季度未经审计的财务报告.本季度百度营收241亿元人民币(约合35.9亿美元),同比增长15%,移除业务拆分收入影响,同比增长21%.低于市场预期242 ...
- Python爬取百度壁纸图片
Python爬取百度壁纸图片 #! /usr/bin/python -- coding: utf-8 -- @Author : declan @Time : 2020/05/31 16:29 @Fil ...
- 百度在线人脸识别API简单实现
基于 Python2.7 ,百度人脸识别在线API的调用 1.申请百度人脸识别应用 首先需要在百度智能云平台登录,登陆后创建应用,创建的应用是人脸识别的,默认已帮你勾选上了相关功能. 创建应用后,点击 ...
- 百度在线人脸识别API简单实现教程
这里,记录一下百度人脸识别在线API的调用,语言是python2.7,供大家一起学习参考 本教程目录如下 1.申请百度人脸识别应用 2.获取token 3.图片的base64编码 4.人脸识别 5.结 ...
- 新浪随机图片壁纸API接口,刷新网页换背景接口
说明:随机图片壁纸api,调用的是新浪api,速度不用担心,图片资源也很多 电脑动漫图片:http://api.btstu.cn/sjbz/?lx=dongman 电脑美女图片:http://ap ...
最新文章
- Python 内编写类的各种技巧和方法
- synchronized锁的升级
- java面向对相取钱存钱_java面向对象(银行存款业务无客户)
- 人口logistic模型公式_logistic回归模型分析
- autoconfig
- 堆排序算法实现(最小堆)
- 使用 乐吾乐topology 遇到的问题解决方法汇总
- emacs-打开和关闭
- 想要成为大牛应该做到以下几点
- 划分离散数学定义_《离散数学》学习记录 - 集合论
- 计154-1.2班C++翻转课堂的课程总结链接集
- 从懵逼到再入门——JavaEE完整体系架构
- SWMM WARNING警告02、03、04的检查修改
- cocos2d-x屏幕适配原理
- 实习生两大杀手之一:Git 引入
- 微信小程序Android的健身APP的hbuilderx uni-app(SSM,MySQL)
- mysql设置最大使用内存_设置MySQL使用大内存页面
- 2023ACP世界大赛教育者论坛:让职业教育直面AI机遇与挑战
- GPS基础知识(二)、 GPS时间
- 杭州亚运会和亚残会志愿者招募-线上测试题答案题库
热门文章
- 开关量分布式IO系统可应用施耐德PLC扩展
- 前端叹了口气,并表示谣言止于智者
- Android开发从入门到精通(1)
- PaddleNLP基于ERNIR3.0文本分类:WOS数据集为例(层次分类)
- 引导图像滤波(Guided Image Filtering)
- 近期Google发布了关于Google Play应用商店的重要调整
- 操作系统知识——银行家算法
- Android适配器之ArrayAdapter、SimpleAdapter和BaseAdapter的简单用法与有用代码片段
- 浙大教授:如何规划自己的博士五年生活?
- Android Facebook第三方登录 20200529