Open 521Peter opened 4 weeks ago
如果想细粒度的操作OCR过程,建议使用HTTP接口。可以自己控制传输每一张图片,获取结果,写入文件。
好的,感谢
我是发现批量ocr,最终会输出包含识别结果的txt文件,然后我找到了源码,改成识别完成后,输出一个finish.txt文件,写个程序持续监听文件输出,有文件输出则表示识别完成了。然后我发现好像有个bug,
for (let it of paths) {
const params = it.map((p) => `\\"${p.replace(/\\/g, "/")}\\"`).join(",");
await exec(
[
`.\\${this.exeName}`,
`--call_qml`,
`BatchOCR`,
`--func`,
`addImages`,
`"[${params}]"`,
].join(" "),
this.exeDir
);
}
await exec(
[
`.\\${this.exeName}`,
`--call_qml`,
`BatchOCR`,
`--func`,
`ocrStart`,
].join(" "),
this.exeDir
);
如果批量添加图片,之后执行ocr操作,有概率部分图片没能添加到列表中
如果批量添加图片,之后执行ocr操作,有概率部分图片没能添加到列表中
可能你程序的操作太快了。Umi添加图片的时候会进行一些检测,需要一点点时间。如果一次性添加大量图片然后立刻开始OCR,可能后面的图片来不及添加到任务列表里。
你的代码,两次 exec 之间 sleep 0.5秒 应该就可以避免了。
Issues
Expected behavior 预期的功能
Approximate reference (optional) 近似的参考(可选)
No response