ImageTrans 使用手册

简介

ImageTrans是一款图片文字转录、图片翻译软件。ImageTrans不同于谷歌的图片自动翻译,它提供人工精调功能,是一款以人为本的辅助工具。

功能:

  • 自动或者辅助用户框选文字区域,调用多种OCR引擎进行文字识别
  • 对文字区域排序,并将文字导出为xlsx、docx等多种格式文件
  • 调用机器翻译对识别的文字做预翻译
  • 调用Photoshop读取PSD文件、导出可编辑的译文PSD文件
  • 设置字体样式
  • 针对漫画翻译设计的文字区域检测和文字抹除功能

快速入门

软件安装

Windows完整版解压到任意目录后即可,Mac完整版打开dmg文件安装ImageTrans到应用目录即可。

需要使用Tesseract进行OCR的话请自行下载安装。这里提供一个Windows的绿色版本:百度网盘(提取码:ktpt),下载后将tesseract-ocr目录和ImageTrans放在一起。额外的语言包请放在 tesseract-ocr\tessdata 目录下。

本工具支持的在线OCR和机器翻译服务均需要设置API才能使用,其中云译和ocrspace为免费提供。付费用户还能获得百度和Azure的API。

以下内容是对于跨平台的版本:

下载ImageTrans的压缩包,解压到任意目录,双击ImageTrans.jar或者命令行输入 java -jar ImageTrans.jar 即可运行。

软件依赖JRE 1.8运行环境,请先下载安装:百度网盘(提取码:mhsy)

软件依赖OpenCV,请根据系统下载运行库文件,解压后放在ImageTrans的目录下:百度网盘, GitHub

验证登录

每次运行ImageTrans时,会显示验证器,需要填入购买时填写的email和订单号。订单号可以在收到的邮件中找到。

_images/validator.jpg

一个email可以在三台设备上使用,要更换设备则需要使用邮箱进行重置。

_images/reset_macs.jpg

新建项目

菜单栏点击文件-新建项目,选择一个位置保存。

_images/new_project.png

添加图片

菜单栏点击文件-导入图片文件夹,选择图片存在的位置。该操作会读取该文件夹下所有的子目录并导入存在的jpg、png文件。

_images/import_images.png

文字转录

工具支持框选文字区域并识别。

手动框选文字

在图片上双击建立选择框,点住中间区域进行移动,点住右下角调整大小。

_images/selectionbox.gif

OCR

选中文字区域,选择语言和OCR引擎,点击识别进行OCR。

_images/OCR.gif

自动识别文字

选择语言和OCR引擎,点击菜单-编辑-自动识别文字,可以自动检测文字区域并转录。其中有道是按段落识别,其它引擎是按行识别,可以通过右侧编辑区域的合并左右区域和合并上下区域进行合并。

_images/automatic_text_recognition.gif

自动识别气泡

选择语言和OCR引擎,点击菜单-编辑-自动识别气泡,可以自动识别气泡。

_images/balloon_detection.gif

自动OCR所有区域

我们可以先把文字区域框出,然后批量进行OCR。点击菜单-编辑-自动OCR所有区域进行操作。

排序

支持根据坐标信息对文字区域进行排序。

_images/sort.gif

导出

导出有多种选项。

_images/export.png
  • Tab分割的TXT文档,包含坐标信息、字体样式、文字等信息
  • XLSX表格,和TXT的内容一样
  • XLSX表格-根据目录建立工作表,按子目录保存图片名、原文和译文信息
  • 所有文本,按每张图片生成包含图片文字的txt文档
  • 供翻译的文档,将原文和译文信息以表格的形式导出为一个docx文档或者txt文档

翻译

在译文区域输入译文并点击保存可以完成一个文字区域的翻译。

可以将翻译导出为docx文档供外部人员翻译,之后再通过菜单-导回翻译-docx文档进行导回。

_images/reimport.png

计算机辅助翻译软件BasicCAT支持直接操作ImageTrans的项目文件进行翻译。

翻译记忆、机器翻译和术语管理

切换右侧的操作区到辅助翻译页面,可以使用翻译记忆、机器翻译和术语管理这三个功能。机器翻译需要在偏好设置里设置API,并进行启用。另外还需要设置项目的语言,通过项目-设置-选择语言对进行设置。

_images/CAT.jpg

预翻译

点击菜单-项目-批处理-预翻译,可以使用翻译记忆或者机器翻译进行批量翻译。当前只支持机器翻译。

_images/pretranslate.png

预览

点击左下角的预览替换效果,可以预览翻译效果。选择精确模式会自动识别文字进行抹除并修复背景,非精确模式则会用背景颜色进行遮盖。

_images/Preview.gif

勾选排版模式时,译文区域将被框出,并支持调整位置。

_images/design_mode.jpg

生成成品图

首先将图片比例调整为100%,之后点击预览,得到成品图。点击文件-导出当前图片为-JPG,结果将输出在对应图片的文件夹的out文件夹中。另一选项ORA支持将文件导出为多层图像格式ORA,该格式能保存图层信息,供PS、Gimp和Krita等图像编辑软件编辑。

除此以外,ImageTrans可支持导出PSD。

设置文字样式

设置文字样式主要有两个作用,一个是在ImageTrans中进行预览,一个是用于导出PSD时设置字体。

点击菜单-项目-设置-字体样式可以进行设置使用的字体、文字大小、行距、对齐方式等等。

_images/fontstyles.jpg

如果要修改某个样式,请点击该样式以加载设置,修改后点击添加,然后删去原来的样式。排在第一的样式是默认样式。

因为Photoshop需要的字体名比较特殊,需要从PS中获得。方法是在PS中新建一张图片,建立一个文本框,设置所需字体,并完成文字编辑操作,是文本框处于非编辑状态。之后在ImageTrans中点击读取即可。非Windows系统需要使用readFont.jsx脚本。

_images/readPSfont.jpg

可以给文字区域设置专门的字体样式。

_images/set_fontstyle.png

另外也支持设置本地样式,除了全局文字样式包含的内容外,支持描边和旋转角度的设置。设置本地字体样式时会调出全局字体样式的设置界面,默认读取添加在末尾的样式为本地字体样式。

_images/localstyle.jpg

批处理

以上对单个图片的操作都可以通过菜单-项目-批处理对所有图片进行操作。

文字区域检测和译文回填

ImageTrans实现了一套文字区域检测和译文回填方法。

文字区域检测

  1. 点击编辑-自动定位文字(启发式),将获得所有候选文字区域
  2. 点击编辑-文字区域操作-获取文字区域置信度,文字区域可能性较低的区域的文本框颜色将变为黄色。这类区域可以自行去除或者隐藏,但因为有些区域被误识别为非文字区域,去除的话翻译时还要手动框选,建议不要直接去除。
  3. 选择文字区域进行OCR和翻译,操作结束后,可以点击编辑-文字区域操作去除没有原文或者没有译文的区域。
_images/textareas.jpg

OCR等操作会自动略过文字区域可能性较低的区域。

因为不同的漫画尺寸不同,需要设置不同的文字区域检测参数,可以在项目-设置-文字区域检测里进行设置。

文字区域检测的算法细节见此:基于规则的漫画文字检测方法

文字区域置信度获取是利用Tensorflow提供的脚本基于卷积神经网络预训练模型重新训练的,相关代码见此: https://github.com/xulihang/text-image-classifier

文字区域检测的操作本工具提供手动分步操作功能,操作方式是菜单栏-编辑-文字区域操作以及右侧编辑区的合并上下区域和合并左右区域按钮。

译文回填

译文回填分为两步,一步是原文抹除,一步是译文的放置。

原文抹除

原文抹除有两种模式,一种是精确模式,一种是非精确模式。

精确模式下,会先生成文字掩膜,再根据掩膜进行图像修复。如果掩膜生成不正确,可以使用编辑-生成/编辑掩膜进行修改,掩膜图像会保存在图片目录,带有mask后缀,而去除文字的图像则带有text-removed后缀。如果掩膜没有手动生成,每次预览时会自动生成,会耗费时间进行计算。需要注意的一点是浅色字体区域,需要先设置背景颜色和文字颜色,程序判断文字颜色比背景颜色浅时会对图像颜色做反转,这样文字掩膜才能够生成。

非精确模式下,则会使用背景颜色生成一个文本框进行遮盖。这一模式较适合背景单一的数字图像。

下图是掩膜编辑器:

_images/mask_editor.jpg

译文放置

根据文本框的大小和位置放置译文,支持自动根据文本框的大小调整译文大小,可以在项目设置里进行设置。

颜色检测

本工具能较粗略地自动检测背景颜色和文字颜色,点击编辑-颜色操作进行相关操作。

与第三方软件的交互

PSD相关

ImageTrans支持利用脚本调用Photoshop来实现互操作。

说明:如果是Windows系统并安装了完整版Photoshop,ImageTrans提供exe脚本工具,可以自动打开PS。其它情况需要自行打开PS,点击“文件-脚本-浏览”选择脚本进行操作。

Photoshop脚本仓库:https://github.com/xulihang/ImageTrans_PhotoshopScripts

PSD转JPG

软件不能直接显示PSD,需要先将PSD转换为JPG。

通过菜单-工具-PSD转JPG打开转换工具,调用Photoshop批量进行转换。

非Windows则使用提供的JSX脚本:pdf2jpg.jsx,选择需要进行转换的目录进行转换。

从PSD读取文字区域

如果处理的是PSD文件,可以从PSD文件读取其中的文字图层的坐标、大小和文本,显示在ImageTrans中,并且回填时会自动替换文本,不用生成覆盖层。点击菜单-编辑-从PSD读取文字图层(若存在)进行操作。

非Windows则使用提供的JSX脚本:readTextLayers.jsx,选择目录进行导出,之后点击菜单-项目-导入用PS脚本导出的文字区域信息进行导入。

读取字体名称

在字体设置时需要填写PS专用格式的字体名称,可以使用readFont.jsx进行读取。该脚本会读取第一个文本框的字体信息。

生成PSD

图片翻译完成后,可以生成PSD文件供精细调整。点击菜单-生成可编辑的PSD文件调出生成选项对话框。

以下是选项的说明:

  • 存在PSD - 直接操作原来的PSD文件,PSD文件需要和JPG文件存放在一起。不选则会从JPG文件生成PSD。
  • 使用译文替换 - 不选则使用原来的文本。
  • 添加覆盖层 - 添加覆盖层以遮住原来的文字。如果对应PSD中的文字图层,则不会添加覆盖层。
  • 使用精确模式 - 非精确模式下覆盖层是一个矩形框,精确模式下软件会根据背景信息精确生成覆盖层,但会耗费较长时间。
  • 水平翻转图像 - 适用于中文漫画翻译为日语漫画的情况
  • 使用点文字 - 所有文本框都设置为点文本,适用于不需要自动换行和文字超出文本框范围的情况
  • 仅导出 - 仅导出数据文件,暂不执行生成操作
_images/generating_options.jpg

生成完成后会跳出提示窗口,请耐心等待。期间可以切换到PS的窗口查看正在进行的操作,如果PS提出相关操作,需要人工处理。

非Windows请使用脚本:addLayers.jsx。

其它

使用文件-导出功能可以将文字导出为docx文档供翻译,并支持导回操作。

另外,本工具的项目文件以json格式存储,会编程的朋友可以自由进行处理。

辅助文字翻译

ImageTrans提供常见的计算机辅助翻译软件的功能,包括翻译记忆、术语管理、机器翻译和语料检索,另外也针对漫画涉及了拟声词检索功能。

这里具体介绍语料检索和拟声词检索功能。

语料检索

建立新的语料需要用户制作翻译记忆文件进行上传,目前提供一个老友记十季字幕供学习使用。

详细介绍见此:翻译记忆在线检索器

拟声词检索

建立新的拟声词词典需要用户上传一个Excel表格文件,包含词条名、分好的词、声音属性以及具体释义。目前提供新牛津英汉汉英双解词典的拟声词条目供学习使用。

详细介绍见此:漫画翻译之拟声词

软件设置

通用设置

气泡检测

本工具的气泡检测使用百度EasyDL和Azure的目标检测服务。需要自行开通账号并训练。

推荐的标注方法:

选中所有气泡中的文字,选框尽量贴合文字。

_images/image_annotation.JPG

发布模型后,在菜单-文件-偏好设置-通用里设置发布了URL,同时还需要填写对应的API。

文字图像识别

默认地址为:http://127.0.0.1:8082/classify

请运行以下仓库的代码: https://github.com/xulihang/text-image-classifier

自然场景文字检测

支持使用EAST和CRAFT自然场景文字检测方法进行文字检测。

默认地址为:http://127.0.0.1:8080/detect

代码地址: https://github.com/xulihang/ImageTrans_SceneText_Detection

API设置

点击菜单-文件-偏好设置-API,可以设置百度、有道、微软、腾讯等OCR和机器翻译服务提供商的API。

_images/api_setting.jpg