Tesseract 和 OCR 无法识别类似数字的字体

Tesseract and OCR can't recognize digital-like fonts

提问人:Manuel Calles 提问时间:5/13/2021 更新时间:1/23/2022 访问量:1220

问:

我需要从数字秤屏幕上读取数字,这些数字显示如下,例如:enter image description here

所以我使用网络摄像头、Javascript 和 Tesseract.js 来使用 OCR。但最好的结果是:

Jo | |
I 10)

当预期结果是 时,显然。123456

下面是一些生成的 JSON:

block: {
    paragraphs: Array(1),
    text: "Jo | |↵I 10)↵",
    confidence: 47.748504638671875,
    baseline: {
        …},
    bbox: {
        …},
    …
}

处理图像的代码如下:

function recognizeFile(file){
    const corePath = window.navigator.userAgent.indexOf("Edge") > -1
        ? 'js/tesseract-core.asm.js'
        : 'js/tesseract-core.wasm.js';


    const worker = new Tesseract.TesseractWorker({
        corePath,
    });

    worker.recognize(file,
        $("#langsel").val()
    )
        .progress(function(packet){
            console.info(packet)
        })
        .then(function(data){
            console.log(data)
        })
}

还有其他选择来实现这一点吗?对于这些情况,有没有更合适的库?

提前致谢。

JavaScript OCR 镶嵌

评论


答:

1赞 user898678 5/14/2021 #1

查看通过 Tesseract OCRhttps://github.com/Shreeshrii/tessdata_ssd 在七段显示器上进行文本检测,或搜索“七段 ocr”

0赞 Kiichi 1/23/2022 #2

看起来您正在研究打字稿/javascript。我做到了 - 纯网络应用程序。就像上面提到的用户一样,ssd 训练的数据效果更好。我尝试了一些额外的技术,裁剪矩形,应用白名单等。

https://github.com/kiichi/meter-cap