python 实现批量图片识别并翻译

时间:2020-11-02|栏目:Python|点击: 次

获取待翻译图片文件的方法(此处设置的仅支持.jpg文件):

def get_files():

files = filedialog.askopenfilenames(filetypes=[('text files', '.jpg')])

translate.file_paths=files

if files:

for file in files:

text1.insert(tk.END, file + '\n')

text1.update()

else:

print('你没有选择任何文件')

获取结果存储路径:

def set_result_path():

result_path=filedialog.askdirectory()

translate.result_root_path=result_path

text2.insert(tk.END,result_path)

翻译按钮,调用了translate_files,该文件中的translate_files()方法最终调用了translate类的translate_files()方法:

def translate_files():

if translate.file_paths:

translate.translate_files()

tk.messagebox.showinfo("提示","搞定")

else :

tk.messagebox.showinfo("提示","无文件")

2、批量图片处理

transclass.py实现了图片读取、处理等逻辑,Translate类定义如下:

class Translate():

def __init__(self,name,file_paths,result_root_path,trans_type):

self.name=name

self.file_paths=file_paths # 待翻译文件路径

self.result_root_path=result_root_path # 结果存放路径

self.trans_type=trans_type

def translate_files(self):

for file_path in self.file_paths:#对批量图片逐个处理

file_name=os.path.basename(file_path)

print('==========='+file_path+'===========')

trans_reult=self.translate_use_netease(file_path) #对单个图片调用接口

resul_file=open(self.result_root_path+'/result_'+file_name.split('.')[0]+'.txt','w').write(trans_reult) #返回结果写入

def translate_use_netease(self,file_content): #调用有道接口,并返回结果

result= connect(file_content)

return result

3、有道api调用

pictranslate.py中封装了调用有道智云API的一些方法,其中最核心的是connect()方法,按照接口要求拼接了所需参数,发起请求并返回结果。

def connect(file_content,fromLan,toLan):

f = open(file_content, 'rb') # 二进制方式打开图文件

q = base64.b64encode(f.read()).decode('utf-8') # 读取文件内容,转换为base64编码

f.close()

data = {}

# data['from'] = '源语言'

# data['to'] = '目标语言'

data['from'] = 'auto'

data['to'] = 'auto'

data['type'] = '1'

data['q'] = q

salt = str(uuid.uuid1())

signStr = APP_KEY + q + salt + APP_SECRET

sign = encrypt(signStr)

data['appKey'] = APP_KEY

data['salt'] = salt

data['sign'] = sign

response = do_request(data)

result=json.loads(str(response.content, encoding="utf-8"))

print(result)

translateResults=result['resRegions']

print(translateResults)

pictransresult=""

for i in translateResults:

pictransresult=pictransresult+i['tranContent']+"\n"

return pictransresult

总结

又是一次愉快的开发体验,而且还是为数不多的求生成功体验 : P ,没想到借助开放平台的力量,图像识别,自然语言处理变得如此易如反掌,只要能正确发起请求,就能得到不错的翻译结果,剩下大把的时间用来和女朋友炫技,这感觉——爽!

以上就是python 实现批量图片识别并翻译的详细内容,更多关于python 图片识别并翻译的资料请关注站圈网其它相关文章!

python批量循环图片识别_python 实现批量图片识别并翻译相关推荐

  1. python批量resize图片大小_python opencv 批量改变图片的尺寸大小的方法

    我目标文件夹下有一大批图片,我要把它转变为指定尺寸大小的图片,用pthon和opencv实现的. 以上为原图片. import cv2 import os # 按指定图像大小调整尺寸 def resi ...

  2. python实现验证码识别_python实现图文验证码识别

    一,验证码类别 以下为网站常见的验证码: 1.图片验证码:常见的为英文.数字.汉字,计算题等类型的验证码. 2.行为式验证码: 常见的有滑动拼图,文字点选,图标点选,推理拼图等类型的验证码. 3.手机 ...

  3. python批量上传 服务器_Python Tornado批量上传图片并显示功能

    简介 Tornado龙卷风是一个开源的网络服务器框架,它是基于社交聚合网站FriendFeed的实时信息服务开发而来的.2007年由4名Google前软件工程师一起创办了FriendFeed,旨在使用 ...

  4. python中读取word信息_Python实现批量读取word中表格信息的方法

    本文实例讲述了Python实现批量读取word中表格信息的方法.分享给大家供大家参考.具体如下: 单位收集了很多word格式的调查表,领导需要收集表单里的信息,我就把所有调查表放一个文件里,写了个py ...

  5. python批量生成文件夹_python实现批量获取指定文件夹下的所有文件的厂

    本文实例讲述了python实现批量获取指定文件夹下的所有文件的厂商信息的方法.分享给大家供大家参考.具体如下: 功能代码如下: import os, string, shutil,re import ...

  6. python读取所有txt文件_python如何批量读取txt文件

    python批量读取txt文件的方法:首先导入系统模块:然后将文件夹路径更改为需要批量读取的txt文件存放的路径:再调用系统模块得到该文件夹下的所有文件名称:最后遍历文件夹,读取txt文件. 如果文件 ...

  7. 利用python批量查询企业信息_python实现批量获取指定文件夹下的所有文件的厂商信息...

    本文实例讲述了python实现批量获取指定文件夹下的所有文件的厂商信息的方法.分享给大家供大家参考.具体如下: 功能代码如下: import os, string, shutil,re import ...

  8. python 录入数据不重复_python Django批量导入不重复数据

    本文为大家分享了python Django批量导入不重复数据的实现代码,供大家参考,具体内容如下 程序如下: #coding:utf-8 import os os.environ.setdefault ...

  9. python批量读取文件内容_Python之批量读取文件【面试必学】

    原博文 2019-12-24 14:00 − python的os模块可以实现普遍的操作系统功能,并且和平台无关.以下为实现根目录下文件的批量读取. os.listdir(dirname)可以列出dir ...

最新文章

  1. Windows Server 2008 R2使用LDP恢复已删除的用户实战
  2. 人工智能定会的录取率也不过百分之29
  3. 客户端连ORACLE
  4. 训练日志 2019.1.23
  5. Java基础---常用类之Math类 and Syetem类
  6. UI素材|网站404页面有什么用处
  7. func_ext.php,fsockopen和pfsockopen函数替换
  8. Laravel 在哪些地方使用了 trait ?
  9. 学习React之前你需要知道的的JavaScript基础知识
  10. 非致命战计算机病毒战属于,《信息化战争》章节
  11. 浅谈AI芯片的简要发展历史
  12. IDEA中输入法无法切换成中文解决方法
  13. U盘和移动硬盘不能安全删除问题及解决方案
  14. oracle exclude table,EXPDP/IMPDP:关于EXCLUDE参数
  15. 如何查看mysql的gtid_mode_配置MHA开启主从同步的时候会提示从库gtid_mode为ON的状态...
  16. 怎么用思维导图做会议纪要?MindNow来教你
  17. Android baidu地图定位实现签到打卡功能(附源码)
  18. 【unity】FPS快速实现全息瞄准镜
  19. 玩转Jetson AGX Orin—— Quick Start
  20. LeetCode刷题笔记2——数组2

热门文章

  1. Word2003进行协同办公(转)
  2. bzoj1399 Win
  3. 数码软文营销文案写作的12套公式模板
  4. 详说vC++中 string之万能转换方法
  5. Jcrop论坛头像截取上传
  6. OpenCV数据类型
  7. 非易失性规划的原理与实现方法
  8. html标签和style的使用及Emmet插件0719
  9. Typora+Picgo+gitee 上传图片
  10. 计算广告/数字营销常见术语