博客
关于我
Python批量图片识别并翻译——我用python给女朋友翻译化妆品标签!
阅读量:227 次
发布时间:2019-03-01

本文共 1303 字,大约阅读时间需要 4 分钟。

最近小编遇到了一个挺有意思的开发任务,女朋友让我帮忙翻译一些英文字 Độ化妆品标签。看着她认真地整理着各种化妆品的成分信息,心里直打鼓——这些标签简直是密码级别的难题!于是我决定挺身而出,用技术解决这个看似不可能的难题。

项目背景

小编平时每天都在用英语写代码,虽然语言基础还不错,但看到那些复杂的化妆品成分标签,心里还是有些怯场。毕竟这些标签上密密麻麻的英文词汇,简直是对程序猿的考验。于是,我决定利用自己掌握的编程技能,开发一个批量翻译的图片翻译工具,帮女朋友轻松搞定这些难题。

API接口介绍

为了实现这个目标,我选用了有道智云的图片翻译服务接口。该接口通过HTTPS协议提供服务,支持Base64格式的图片上传,返回JSON格式的翻译结果。接口的核心功能包括:

  • 文件上传类型(type):目前支持Base64编码的图片上传。
  • 源语言(from)和目标语言(to):支持多种语言,系统会自动识别源语言。
  • 应用ID(appKey)和应用密钥(salt):用于身份验证和签名生成。
  • 签名(sign):通过MD5哈希生成,确保请求的合法性。

开发过程

接下来,我开始着手开发这个翻译工具。项目主要分为三个部分:界面交互、图片处理逻辑以及API调用。

  • 界面设计

    使用Python的Tkinter库,开发了一个简单的GUI界面。主要功能包括:

    • 选择待翻译的图片文件。
    • 指定翻译后的结果存储路径。
    • 调用翻译接口并显示翻译结果。
  • 图片处理逻辑

    在transclass.py文件中,定义了一个Translate类,负责处理图片文件和调用翻译接口。主要逻辑包括:

    • 逐个读取待翻译的图片文件。
    • 调用有道智云的翻译接口,获取翻译结果。
    • 将翻译结果保存到指定的存储路径。
  • API调用

    在pictranslate.py文件中,封装了有道智云接口的调用逻辑。核心逻辑包括:

    • Base64编码图片内容。
    • 拼接请求参数,包括应用ID、Base64编码、随机UUID和应用密钥。
    • 生成签名,通过MD5哈希验证请求的合法性。
    • 发起HTTPS POST请求,获取服务器返回的翻译结果。
  • 效果展示

    通过实际项目测试,我们发现这个翻译工具的效果非常不错。无论是复杂的英文标签,还是韩文和英文混合的标签,都能准确翻译出来。例如:

    • "make up for ever" 翻译成 "玫珂菲"(虽然不是最优翻译,但关键词如"长期保湿"、"固定喷雾"等都能准确识别)。
    • "樱花水" 的表现同样不错。

    工具推荐

    在开发过程中,我们使用了以下工具和服务:

    • 有道智云:提供高效的图片翻译接口,支持多种语言和格式。
    • Python 3:开发语言,结合Tkinter库进行界面设计。
    • Base64编码:用于图片文件的上传处理。
    • MD5哈希:用于请求签名验证,确保接口调用的安全性。

    总结

    通过这次项目的开发,我不仅解决了女朋友的烦心事,还收获了一次有趣的开发经历。借助有道智云的开放平台,图像识别和自然语言处理技术变得如此友好,以至于只需正确发起请求,就能轻松获取所需的翻译结果。剩下的时间,我可以和女朋友一起分享这项“神器”,一起吹嘘我们的技术实力——爽乎乎的!

    转载地址:http://zkwv.baihongyu.com/

    你可能感兴趣的文章
    python3 mysql 封装多表_python3 mysql-多表查询
    查看>>
    python3 mysql8_Python MySQL8.0 错误:authentication plugin 'calling_sha2_password' is not supported....
    查看>>
    Python关键代码总览!从Zero到Hero必看的考点
    查看>>
    python3 robotframework+pycharm框架搭建
    查看>>
    Python3 shutil模块
    查看>>
    Python关于strftime函数详细解析 附实战代码
    查看>>
    Python3 tutorial day3
    查看>>
    python3 week4
    查看>>
    Python3 创建数组
    查看>>
    python3 套接字异常(a byte-like object is required not str)
    查看>>
    python3 实现用户三次输入错误记录黑名单并对该用户登录锁定-day1
    查看>>
    python3 文本变图片
    查看>>
    Python3 查看 com 组件的属性
    查看>>
    python3 案例分享--发邮件
    查看>>
    python3 模板库_Python3 标准库概览_Python教程_我爱模板网 - 提供下载各种免费建站资源,免费网站模板,免费网页特效,让你爱上建站!...
    查看>>
    Python3 求最大/小值及索引值 Numpy
    查看>>
    python3+django使用celery执行某些任务失败的解决方案
    查看>>
    Python3+Requests+Unittest实战系列【一】
    查看>>
    python3+requests+unittest实战系列【一】
    查看>>
    python3+requests+unittest实战系列【二】
    查看>>