百度翻译的图片翻译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调用相关推荐

  1. 百度云平台语音合成接口python调用

    百度云平台是一个功能非常强大的开放平台,平台提供了许多开放的API接口给用户,用户通过注册百度云账号就可以申请到调用API接口的密钥.同时百度云给用户提供了各种开发语言的SDK,用户可以免费下载使用. ...

  2. 百度云 文字识别API在线调用测试

    1.0:百度云文字识别应用创建 1.1:找到文字识别产品 1.2:点击使用文字识别 1.3:点击创建应用 1.4:点击  查看应用 ,并输入基本信息,点击立即创建 2.0:token 获取 2.1:找 ...

  3. ElasticSearch的API python调用

    os json datetime datetime django.http HttpResponse reelasticsearch Elasticsearches = Elasticsearch([ ...

  4. python实现简单的api接口-简单实现Python调用有道API接口(最新的)

    # ''' # Created on 2018-5-26 # # @author: yaoshuangqi # ''' import urllib.request import urllib.pars ...

  5. python实现文本审核_百度AI文本审核API使用说明

    虽然,虽然,虽然,今天: 百度发布了2019年第一季度未经审计的财务报告.本季度百度营收241亿元人民币(约合35.9亿美元),同比增长15%,移除业务拆分收入影响,同比增长21%.低于市场预期242 ...

  6. Python爬取百度壁纸图片

    Python爬取百度壁纸图片 #! /usr/bin/python -- coding: utf-8 -- @Author : declan @Time : 2020/05/31 16:29 @Fil ...

  7. 百度在线人脸识别API简单实现

    基于 Python2.7 ,百度人脸识别在线API的调用 1.申请百度人脸识别应用 首先需要在百度智能云平台登录,登陆后创建应用,创建的应用是人脸识别的,默认已帮你勾选上了相关功能. 创建应用后,点击 ...

  8. 百度在线人脸识别API简单实现教程

    这里,记录一下百度人脸识别在线API的调用,语言是python2.7,供大家一起学习参考 本教程目录如下 1.申请百度人脸识别应用 2.获取token 3.图片的base64编码 4.人脸识别 5.结 ...

  9. 新浪随机图片壁纸API接口,刷新网页换背景接口

    说明:随机图片壁纸api,调用的是新浪api,速度不用担心,图片资源也很多 ​ 电脑动漫图片:http://api.btstu.cn/sjbz/?lx=dongman 电脑美女图片:http://ap ...

最新文章

  1. Python 内编写类的各种技巧和方法
  2. synchronized锁的升级
  3. java面向对相取钱存钱_java面向对象(银行存款业务无客户)
  4. 人口logistic模型公式_logistic回归模型分析
  5. autoconfig
  6. 堆排序算法实现(最小堆)
  7. 使用 乐吾乐topology 遇到的问题解决方法汇总
  8. emacs-打开和关闭
  9. 想要成为大牛应该做到以下几点
  10. 划分离散数学定义_《离散数学》学习记录 - 集合论
  11. 计154-1.2班C++翻转课堂的课程总结链接集
  12. 从懵逼到再入门——JavaEE完整体系架构
  13. SWMM WARNING警告02、03、04的检查修改
  14. cocos2d-x屏幕适配原理
  15. 实习生两大杀手之一:Git 引入
  16. 微信小程序Android的健身APP的hbuilderx uni-app(SSM,MySQL)
  17. mysql设置最大使用内存_设置MySQL使用大内存页面
  18. 2023ACP世界大赛教育者论坛:让职业教育直面AI机遇与挑战
  19. GPS基础知识(二)、 GPS时间
  20. 杭州亚运会和亚残会志愿者招募-线上测试题答案题库

热门文章

  1. 开关量分布式IO系统可应用施耐德PLC扩展
  2. 前端叹了口气,并表示谣言止于智者
  3. Android开发从入门到精通(1)
  4. PaddleNLP基于ERNIR3.0文本分类:WOS数据集为例(层次分类)
  5. 引导图像滤波(Guided Image Filtering)
  6. 近期Google发布了关于Google Play应用商店的重要调整
  7. 操作系统知识——银行家算法
  8. Android适配器之ArrayAdapter、SimpleAdapter和BaseAdapter的简单用法与有用代码片段
  9. 浙大教授:如何规划自己的博士五年生活?
  10. Android Facebook第三方登录 20200529