/Germen

试作型通用安卓移动端在线阅读app小说提取工具

Primary LanguagePythonMIT LicenseMIT

Germen

一款实验性质的个人向通用安卓移动端在线阅读app小说提取工具。“Germen”源于拉丁语“幼苗”。

设计思路

mind.PNG

注:后面的格式处理已经全部改用Python完成,上面只是大概思路而已。

开发进度

开发截图与模拟点击的部分。(已完成)

开发OCR部分(已完成)

开发文本处理部分(已完成)

开发主程序(已完成)

调试程序与修复Bug(进行中)

开发GUI(进行中)

窗口化图形界面(已停止开发)

GermenGUIv1.PNG

配置文件(config.json)说明

  1. PictureDir :保存截图的路径
  2. OCROutPaDir:保存OCR生成的文本的路径
  3. MergeBookDir:保存经过了合并,但是未处理格式的文本文件的路径
  4. FinalNovelDir:保存经过格式处理的文本文件的路径
  5. Cycle:每一轮截图-翻页-文字识别的间隔时间,默认为30秒

使用说明

  1. 进入Python环境(推荐使用virtualenv或者conda为本项目设置一个专属虚拟环境)(开发环境为Python 3.10)。

  2. 将下载好的Release压缩包解压(或者git clone),在项目根目录运行pip install -r requirements.txt -I -i https://pypi.tuna.tsinghua.edu.cn/simple 安装依赖。

  3. 下载OCR推理模型(ch_PP-OCRv4_det_server_inferch_PP-OCRv4_rec_server_infer),并解压后放入models文件夹中,形成下面的结构:

    models.png

  4. 运行python MainProgram.py启动主程序。

  5. 按照流程执行操作。

小贴士

  1. 在安装依赖中的Paddle(飞浆)时,有可能会因为依赖原因而导致安装失败。推荐按照官方的说明手动安装相关的组件。
  2. 在每次运行采集时,务必清空OCROutPaDir里残留的OCR文本,以免合成的文本混杂上一次的内容。
  3. 推荐提高阅读界面的对比度,使用常规字体以获得更高的识别准确率。调整字体大小以提高获取文本的效率。
  4. 确认设置的模拟点击位置在现在和未来的截屏中不会遮挡文字,否则可能造成OCR识别错误、缺字等。
  5. 在程序运作时,请不要遮挡窗口,也尽量不要做拖拽操作,以免模拟点击被用户操作覆盖。
  6. 目前加入了按键模拟翻页,使用之前请在模拟器中设置好按键和点按位置。
  7. 如果你的模拟器使用了管理员权限运行,那么建议也使用管理员权限运行python执行本程序。
  8. 如果运行OCR过程中提示缺少cudnn文件,可以参考这篇文章来解决。
  9. 程序运行时会占用大量内存,请确保计算机的可用内存大于10GB.