文字区域检测和译文回填

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

文字区域检测

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

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

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

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

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

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

译文回填

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

原文抹除

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

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

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

下图是掩膜编辑器:

_images/mask_editor.jpg

译文放置

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

颜色检测

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