面板清理器
这个工具使用机器学习来查找文本,然后生成尽可能精确的遮罩来覆盖文本。它旨在清理简单的气泡,不进行图像修复或气泡外文本的移除。这是为了节省大量单调的工作,适用于需要清理大量面板的人,同时确保不会覆盖不应该覆盖的内容。
右上页面中可视化的内容:
-
在 AI 找到文本的地方绘制了各种框。
-
(绿色)AI 还生成了精确的遮罩,显示检测到文本的位置。
-
(紫色)这些遮罩被扩展以覆盖未被检测到的附近文本,以及 JPEG 压缩造成的伪影。
-
(蓝色)对于紧密贴合的遮罩,遮罩边缘周围的区域会进行去噪以最终清理,而不影响图像的其他部分。
底部两个页面是程序可以输出的内容:透明的遮罩层和/或应用遮罩后的原始图像,即清理后的图像。
目录
功能
局限性
为什么使用这个程序?
安装
使用方法
配置文件
OCR
示例
致谢
许可证
路线图
常见问题解答(FAQ)
翻译
功能
-
清理文本气泡而不留下伪影。
-
避免覆盖非文本部分的图像。
-
对无法简单遮罩的气泡进行图像修复(使用 LaMa 机器学习)。
-
忽略只包含符号或数字的气泡,因为这些不需要翻译。
-
提供图形用户界面以便于使用,支持深色、浅色和系统主题。
-
安装模型数据后无需互联网连接。
-
提供大量选项来自定义清理过程,并能够将多个预设保存为配置文件。 查看默认配置文件以了解所有选项。
-
提供清理过程的详细分析,以查看设置如何影响结果。
-
如果作为 Python 包安装并且您的硬件支持,则支持 CUDA 加速。
-
支持批量处理图像和目录。
-
可以处理任何纯灰度背景色上的气泡。
-
也可以从图像的其余部分剪切出文本,例如粘贴到彩色版本上。
-
还可以对页面进行 OCR 并将文本输出到文件。
-
审查清理和 OCR 输出,包括在保存前交互式编辑 OCR 输出。
-
界面支持语言:英语、德语、保加利亚语、西班牙语 (更多语言请参见翻译)
局限性
-
仅支持日语和英语文本的清理(其他语言的效果可能有所不同),OCR 仅支持日语。
-
支持的文件类型:.jpeg、.jpg、.png、.bmp、.tiff、.tif、.jp2、.dib、.webp、.ppm
-
程序依赖 AI 进行初始文本检测,这本质上是不完美的。有时会遗漏一些小文本或误认为气泡的一部分属于文本,这将阻止该气泡被清理。根据测试,这通常影响 2-8% 的气泡,具体取决于您的设置。
-
由于在选择遮罩时采取了保守方法,如果程序无法令人满意地清理气泡,它将直接跳过该气泡。然而,这也防止了误报。
-
对于遮罩,目前仅支持灰度。这意味着它可以覆盖白色、黑色或灰色气泡中的文本,但不能覆盖彩色气泡中的文本。
为什么使用这个程序?
这个程序旨在精确且完全地清理文本气泡,而不留下任何伪影。 其目的是通过处理单调的工作来节省清理人员的时间。 用于检测文本和生成初始遮罩的AI并非作为本项目的一部分创建,本项目仅将其作为起点并改进其输出。
原始图像 | AI 输出 | 面板清理器 |
---|---|---|
如您所见,对AI输出进行额外清理后,一些残留的文本和JPEG压缩痕迹被去除,气泡完全清理干净。当无法完全清理时,Panel Cleaner会跳过该气泡,以避免浪费您的时间处理清理效果不佳的文本。具体的清理行为是高度可配置的,详见配置文件部分。 |
安装
您可以选择从发布页面安装预编译的二进制文件(exe或elf)(推荐大多数用户使用),或者使用pip将其安装到本地Python解释器中。
注意:所有版本在首次启动时都需要下载模型数据(约500MB)。如果Panel Cleaner更新,这些模型数据无需重新下载。
重要提示:预编译的二进制文件不支持CUDA加速。要使用CUDA,您必须使用pip安装程序,并确保为您的系统安装适当的pytorch版本。
使用Pip安装
该程序需要Python 3.10或更高版本。
使用pip从PyPI安装带有命令行界面和图形界面的程序:
pip install pcleaner
或者如果您只想使用命令行界面:
pip install pcleaner-cli
注意:pcleaner
和pcleaner-cli
可以并行安装,但仅CLI的包会是多余的。
注意:该程序已在Linux、MacOS和Windows上测试通过,但需要不同程度的设置。详见FAQ获取帮助。
从Arch用户仓库安装
这会在pipx
环境中安装程序,允许pytorch为您的系统下载适当的CUDA版本,使其成为最佳的安装方法。
您可以在这里找到该包:panelcleaner
这将提供pcleaner
和pcleaner-gui
命令,以及GUI的桌面文件。
使用您喜欢的AUR助手安装,例如使用yay
:
yay -S panelcleaner
使用Flatpak安装
这会在flatpak容器中安装预编译的二进制文件,不支持CUDA加速。
使用Docker安装
使用buildx构建镜像:
docker buildx build -t pcleaner:v1 .
或使用传统构建器:
docker image build -t pcleaner:v1 .
然后初始化Docker镜像,指定一个容器可访问的根文件夹。
在此示例中,使用当前目录(pwd
):
docker run -it --name pcleaner -v $(pwd):/app pcleaner:v1
这还会在容器中启动一个交互式shell。
之后您可以通过以下方式打开另一个:
docker start pcleaner
docker exec -it pcleaner bash
命令行使用
该程序可以从命令行运行,在最常见的用法中,它接受任意数量的图像或目录作为输入。程序将在输入文件所在的目录中创建一个名为cleaned
的新目录,并将清理后的图像和/或蒙版放置在那里。通常,只导出蒙版层更有用,您可以通过添加--save-only-mask
选项(简写为-m
)来实现这一点。
示例:
pcleaner clean image1.png image2.png image3.png
pcleaner clean -m folder1 image1.png
使用CUDA加速处理46张图像的实时演示。
还有更多选项,可以通过运行以下命令查看:
pcleaner --help
使用命令行启动GUI
可以使用gui
命令从命令行启动GUI:
pcleaner gui
或直接使用
pcleaner-gui
如果找不到pcleaner,请确保它在您的PATH变量中,或尝试
python -m pcleaner
替代。
配置文件
该程序在配置文件中公开了每个可能的设置,这些文件以简单的文本文件形式保存,也可以通过GUI访问。每个配置选项都在文件内部进行了解释,使您能够根据特定需求优化清理过程的每个参数。
只需使用以下命令生成一个新的配置文件:
pcleaner profile new 我的配置文件名称
它将在文本编辑器中为您打开新的配置文件。
以下是默认配置文件的一小段示例:
# 每步增长蒙版的像素数。
# 这会增加蒙版轮廓的厚度,因此较小的值会更精确但速度较慢。
mask_growth_step_pixels = 2
# 增长蒙版的步数。
# 更高的数值会生成更多更大的蒙版,最终受参考框大小的限制。
mask_growth_steps = 11
通过在命令中添加--profile=我的配置文件名称
或-p 我的配置文件名称
来使用指定的配置文件运行清理器。
如果您难以看出设置如何影响结果,可以使用--cache-masks
选项将中间步骤的可视化保存到缓存目录。
默认配置文件 | 自定义配置文件 |
---|---|
mask_growth_step_pixels = 2 | mask_growth_step_pixels = 4 |
mask_growth_steps = 11 | mask_growth_steps = 4 |
此外,终端中还提供了每个处理步骤的分析,因此您可以看到设置如何影响整体结果。
有关所有选项的列表,请参阅默认配置文件。
注意:默认配置文件针对大约1100x1600像素大小的图像进行了优化。 如果您使用分辨率明显较低或较高的图像,请在配置文件中相应调整大小参数。
OCR
你还可以使用Panel Cleaner对页面进行光学字符识别(OCR),并将文本输出到文件中。这可能对辅助翻译或提取文本进行分析很有用。
你可以使用以下命令运行OCR:
pcleaner ocr myfolder --output-path=output.txt
这也可以在图形界面中使用,作为OCR输出选项。
Panel Cleaner可以直接使用MangaOCR处理日语OCR,这是处理日语文本的首选方法。 如果可用,Panel Cleaner还可以使用Tesseract进行OCR,特别是用于处理英语和日语文本,目前仅支持这两种语言。 请按照以下说明在你的系统上安装Tesseract。
安装Tesseract
Windows
- 从Tesseract官方GitHub仓库下载安装程序。 我们建议从那里链接的UB Mannheim获取最新版本(64位)。
- 运行安装程序,按照屏幕上的说明进行系统范围的安装。
- 将Tesseract安装目录添加到你的PATH环境变量中。
如果你进行了系统范围的安装,这意味着将目录
C:\Program Files\Tesseract-OCR
添加到你的PATH中。 - 重启你的电脑。
macOS
使用Homebrew安装Tesseract:
brew install tesseract
Linux
对于基于Debian的发行版,使用apt:
sudo apt install tesseract-ocr
对于其他发行版,请参考你的包管理器和Tesseract官方文档。
有关详细安装说明和其他信息,请参阅Tesseract官方文档。
注意:虽然Tesseract支持其他语言,但Panel Cleaner仅使用Tesseract进行英语和日语文本识别。默认安装英语。按照安装额外语言包的说明安装日语语言包。
棘手气泡的示例
原始 | 清理后 |
---|---|
致谢
-
Comic Text Detector用于查找文本气泡并生成初始蒙版。
-
Manga OCR用于检测哪些气泡只包含符号或数字,并执行专门的OCR命令。
-
Simple Lama Inpainting用于修复无法遮罩的气泡。
许可证
本项目采用GNU通用公共许可证v3.0 – 详见LICENSE文件。
路线图
- 可能为它制作一个图形界面。