[Share Experiences] OCR屏幕取词插件「Goldendict 」
Tofloor
poster avatar
ylxdxx
deepin
2022-08-11 20:10
Author

缘起

在Linux上,没找到跟Goldendict配套的OCR屏幕取词插件,那么自已动手造了个【凑了个】

使用效果展示

录了几次,没录好,可参照GoldenDict++OCR效果

OCR引擎

先来说说OCR引擎,最方便的是 tesseract, 各大发行版仓库中已自带

sudo apt install tesseract-ocr tesseract-ocr-eng

对纯英文而言,若是白底黑字,tesseract 还是可的,但当背景不是黑色时,tesseract 就看运气了


这里推荐 tr 本地OCR引擎 ,项目地址:https://github.com/myhub/tr

选此理由:

  • 核心代码全部采用C++开发,速度保证
  • 部署简单(主要是不需要装一大堆东西)
  • 识别准确率高。

对英文而言,经测试,各种场景下取词的识别准确率都非常高,中文常规取词已是非常棒的。

tr 安装

把仓库中的文件拌到本地后,直接运行里面的 demo.py

python demo.py

缺啥补啥,把这个 demo.py 正常跑起来就行了。

插件安装

先安装本插件的依赖:

sudo apt install zenity imagemagick scrot

插件分两个,一个是Python的,用于跟 tr 交流,一个是 shell ,用于整个功能的实现

GD_ocr.tar.gz

GD-ocr.tar.gz

请将如下两个文件,分别放在不同的地方:

  1. GD_ocr.py 放在 tr 项目内,即上面的 demo.py 的文件夹内
  2. GD-ocr.sh 放在 tr 文件夹的同一级目录内

完整文件位置如下:

.
├── GD-ocr.sh
└── tr
    ├── demo.py
    ├── GD_ocr.py
    ├── imgs
    │   ├── id_card.jpeg
    │   ├── line.png
    │   ├── name_card.jpg
    │   ├── output
    │   │   ├── id_card
    │   │   │   ├── 1.png
    │   │   │   └── 2.png
    │   │   └── name_card
    │   │       ├── 1.png
    │   │       └── 2.png
    │   └── web.png
    ├── LICENSE
    ├── MANIFEST.in
    ├── README.md
    ├── setup.py
    ├── test-multi-thread.py
    ├── test.py
    └── tr
        ├── char_table.txt
        ├── crnn.bin
        ├── ctpn.bin
        ├── __init__.py
        ├── libonnxruntime.so.1.3.0
        ├── libtr.so
        ├── __pycache__
        │   ├── __init__.cpython-39.pyc
        │   └── tr.cpython-39.pyc
        └── tr.py

如此完成,在系统内设置一个快捷键调用 'GD-ocr.sh' 便可以愉快的OCR屏幕取词了

后记

人生苦短,早离微软

Reply Favorite View the author
All Replies
璀璨星空
deepin
2022-08-11 20:12
#1

like

Reply View the author
季星火
deepin
2022-08-11 20:39
#2

我使用的是 Deepin V20.6,里面的截图工具自带OCR识别功能,感觉效果也很不错哦。

image.png

Reply View the author
fuuko
deepin
2022-08-11 21:07
#3

除了体积有点大,其它看着还不错

Reply View the author
ylxdxx
deepin
2022-08-11 21:25
#4
季星火

我使用的是 Deepin V20.6,里面的截图工具自带OCR识别功能,感觉效果也很不错哦。

image.png

官方这个确实好使,不过记得,好像没提供外部程序调用的接口吧

Reply View the author
心平气和
deepin
2022-08-11 22:55
#5
ylxdxx

官方这个确实好使,不过记得,好像没提供外部程序调用的接口吧

image.png

Reply View the author
vivian_me
deepin testing team
2022-08-11 23:19
#6

哇6666yeah

Reply View the author
ylxdxx
deepin
2022-08-12 01:56
#7
心平气和

image.png

居然有了,等V23出来后,装深度研究一下

Reply View the author
huahaiwuyuan
deepin
2022-08-12 19:23
#8
心平气和

image.png

这是什么软件,我也想调用系统接口

Reply View the author
心平气和
deepin
2022-08-12 19:34
#9
huahaiwuyuan

这是什么软件,我也想调用系统接口

去学学 qt 的dbus吧

Reply View the author