-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Open
Labels
questionFurther information is requestedFurther information is requested
Description
Question 问题
提出背景:
相比 Hook,本地OCR几乎适用一切包括dlsite的游戏、零成本、使用方便。高精度模型相比以前可用性也大大增加。改进价值高。
目前的问题在于:
OCR 引擎经常会将横跨若干行的文本段落作为一整个“文字块”返回。此时一旦出现划分问题,例如一段文字被切分成若干个块(见下图右上角us are,右下角the)

必须要找到每个块对应行的内容拼在一起才行。然而文本块只有框坐标和整段文字,无法得知内部某一行文字具体对应哪一部分,且代码中后续的所有算法修正,包括块合并,行内左右,行间上下排序,本质上都是以 OCR 按“单行/单列”返回内容为前提的,从而必然导致文本“错行”(如果每个块都横跨多行的话错误会更加严重):

后续的大模型翻译能方便地纠正拼写错误,但不好处理严重的语序/结构错误。
可能的解决思路/建议:
- OCR 参数开放:ocr本身的参数是否能调节此问题?能的话是否可以将这些参数设为用户可调?
- 二次拆分识别:对于均匀分布、标准排版的文本,增加一个“单行宽度/横款比”的变量(用户自行设定或者配合程序标定),当 OCR 返回大宽度的文本块时,根据该参数将其拆分成行并重新送入 OCR 再次识别?不过运算量爆炸
2.1 预处理分行:或者预处理时聚类、二值化算水平投影之类的直接在送入 OCR 前进行分行?
还有没有靠谱的思路,感觉这个解决了基本上本地ocr可以完全满足需求
感谢佬的辛勤付出,翻译器功能的完善程度真得远超我的想象
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
questionFurther information is requestedFurther information is requested