LION是一款插件,能够按照特定的时间间隔,对屏幕上特定的区域进行自动光学字符识别(OCR)操作。
为什么说它智能呢?这既不是因为它是我编写的,也不是因为“i”让这个首字母缩写显得很巧妙。
由于它会对同一屏幕区域进行多次OCR操作,正常情况下,它会多次读取到相同的文本,这显然不太理想。因此,我实现了一种机制,当识别出的文本与之前识别的文本相似时,就不再进行朗读。并且增加了使用正则过滤识别结果的功能。
编写这款插件的主要目的是为了读取字幕。基于其工作原理,它可以读取屏幕上的各类字幕,包括YouTube、Netflix、哔哩哔哩等在线视频网站上的字幕,AVI文件中嵌入的字幕,甚至是直播电视的字幕!
在使用时,务必将视频设置为全屏模式,因为它的工作方式类似于正常人的视觉。较大的文本有助于它获得更好的识别效果。不过,识别质量并非完美无缺。如果可以设置,尽量将字幕字体调大,并使用高分辨率屏幕。它所采用的OCR引擎并非十全十美,在某些图像上的识别效果可能不太理想。
除了读取字幕,它还能用于监测屏幕上那些无法直接访问的文本,比如视频游戏的菜单。但遗憾的是,它无法识别高亮显示的文本。
若要使用默认选项启动该插件,只需按下NVDA + ALT + N组合键。LION便会每隔1秒对整个屏幕进行一次OCR操作,且只有在文本发生变化时才会进行朗读。希望能如你所愿。
如果你想对其功能进行自定义设置,可以前往NVDA菜单,进入“选项”,再选择“设置”,找到“lion类别”。例如,视频文件的左上角可能会有一个标识,在读取字幕后,这个标识也会被一并读出,从而影响使用体验。下一部分我们将介绍如何解决这个问题。
LION具备以下设置项: 1. 识别间隔:即程序执行OCR操作的频率,取值范围为0.1秒至10秒。 2. 识别目标:用于指定进行OCR操作的屏幕区域。可供选择的选项包括:当前控件、当前窗口、导航对象以及全屏。 3. 从上方、下方、右侧、左侧裁剪像素:在全屏模式下,这四个设置项可用于裁剪屏幕中不需要扫描的区域。此设置仅在全屏模式和当前窗口模式下生效。这个设置有什么用呢?以之前提到的标识为例,只需从上方裁剪大约10%左右的区域,就能跳过该标识,避免它被读出。实际上,为了加快识别速度并减少资源占用,你可以从上方裁剪大约70%的区域,因为字幕通常位于屏幕下方三分之一的位置。
修复了一个主要在YouTube全屏模式下出现的错误。
初始版本