终於到了这一步,要把所有功能整合在一起了。前面虽然很痛苦,但在我看来最痛苦的还是这一步。之前,教朋友处理的时候,很明显这一个步骤看似最简单,实际才是大魔王!首先,先定义好我们想要做到的功能:
整合时,最有可能会遇到的问题,电脑视觉的处理太久,毕竟图片需要经过人脸辨识、OCR、物体侦测和影像描述,可能会让处理的时间过长,处理的时间超过30秒,Line chatbot 会因为 timeout 无法回应使用者。所以,必须考虑先後顺序,省略不必要的动作。我的做法是:
langdetect
这个套件侦测是否为韩文,若非韩文,则跳过翻译与转换语音的步骤。def resize_image(filename):
"""
Resize image: fix the max aspect
"""
base = 700
img = Image.open(filename)
ratio = base / float(max(img.size))
width = int((float(img.size[0]) * float(ratio)))
height = int((float(img.size[1]) * float(ratio)))
img = img.resize((width, height), Image.ANTIALIAS)
img.save(filename)
return img
整合的过程,千万不要一口气把全部功能做完才git push
到 Azure Web App,这样不好除错,错误很也可能会有如滔滔江水 连绵不绝 更有如黄河泛滥 一发不可收拾。之前帮朋友除错时,往往只是一个打错字的小错误,都有可能会因为错误太小,但程序码太长,结果花了一两个小时才解决一个小问题,建议可以用会帮忙侦测错误的编辑器来协助编辑,例如:Visial Studio Code。最好是,一个功能做完就git push
一次,以下是我实作的顺序:
准备好config.json
:
{
"line": {
"line_secret": "your line secret",
"line_token": "your line token",
},
"azure": {
"cv_key": "your subscription key of computer vision",
"cv_end": "your endpoint of computer vision",
"blob_connect": "your connect string",
"blob_container": "your blob container name",
"trans_key": "your subscription key of translator",
"speech_key": "your subscription key of speech",
"face_key": "your subscription key of Azure Face service",
"face_end": "your endpoint of Azure Face service",
"mongo_uri":"your mongon uri",
"azureml_endpoint": "your endpoint url of service on azure service"
}
然後,我们就可以攻略大魔王了。所有的程序码,我都放在 github 上,有兴趣的人可以参考application.py
和requirements.txt
:https://github.com/KuiMing/triathlon_azure 。
看图学英文
韩文翻译机器人
非登入状态 | 已登入状态 |
终於,我们打完了大魔王,迎来终章。
>>: 13 - cheat.sh - 终端机的程序百科全书
前言 这一篇也是关於 SwiftUI 的。 这次来讨论 ForEach、ScrollView。 Fo...
当天翼云盘下载按钮变灰没办法点击,如下图 可使用审核元素使之可以点击和获取下载链接 搜索 btn b...
今天会使用到foreach,所以开头我们先来学一下要怎麽使用Foreach。 Foreach 什麽时...
Repository 将 source wrapper 、 record mapper 、 fact...
安妞大家 以下一样是自学笔记 什麽是SVN(Subversion) ? SVN(Subversion...