当前位置: 首页 > 知识库问答 >
问题:

有许多错误的Tesseract-Digit-Reguiting

羊舌涵涤
2023-03-14

我希望能够从图像中识别数字。所以我一直在玩tesseract和Python。我研究了如何准备图像,并尝试在它上运行tesseract,我必须说,我对我的数字被识别得如此糟糕感到非常失望。我尝试用OpenCV准备我的图像,并认为我做得很好(见下面的示例),但tesseract在试图识别我的图像时有很多错误。我是不是期望太高了?但是当我看到这些示例图像时,我认为tesseract应该可以轻松地识别这些数字,没有任何问题。我想知道是不是精度还没有,或者我的配置不是最佳的。如有任何帮助或指导,我们将不胜感激。

我试图改善数字识别的事情:(似乎没有什么能显著改善结果)

  • 限制字符:config=“--PSM 13--OEM 3-C TESSEDIT_CHAR_WHITELIST=0123456789”
  • 高档图像
  • 在图像周围添加一个白色边框以给字母更多的空间,因为我已经读到这样可以改进识别过程
  • 阈值图像只有黑白像素

例子:

图1:

Tesseract认可:1723年

共有1个答案

陶法
2023-03-14

我不知道你出了什么问题。我下载了这些图像,tesseract对它们的解释对我来说很好。您使用的是什么版本的tesseract(我使用的是5.0)?

781429

209441

import pytesseract
import cv2
import numpy as np
from PIL import Image

# set path
pytesseract.pytesseract.tesseract_cmd = r'C:\\Users\\ichu\\AppData\\Local\\Programs\\Tesseract-OCR\\tesseract.exe';

# load images
first = cv2.imread("first_text.png");
second = cv2.imread("second_text.png");
images = [first, second];

# convert to pillow
pimgs = [];
for img in images:
    rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB);
    pimgs.append(Image.fromarray(rgb));

# do text
for img in pimgs:
    text = pytesseract.image_to_string(img, config='--psm 10 --oem 3 -c tessedit_char_whitelist=0123456789');
    print(text[:-2]); # drops newline + end char
 类似资料:
  • 我在linux上运行tesseract ocr引擎时遇到了一个问题。我下载了RUS语言数据并将其放入tessdata目录(/usr/local/share/tessdata)。当我尝试使用命令<code>tesseract blob运行tesseract时。jpg out-l rus</code>,它显示一个错误: 根据编译指南,我使用来指向我的tessdata目录。也许我应该编辑任何配置文件?泰

  • 我收到了来自tesseract的5 MB大小图像的以下错误。 Tesseract开源OCR引擎v3.01与Leptonica第0页图像太大:(39667,56133)处理过程中出现错误。 文件大小是否有限制,或者是否有解决此问题的参数。 感谢您的帮助。

  • 描述 (Description) 字符类\p{Digit}匹配任何数字。 例子 (Example) 以下示例显示了Posix字符类匹配的用法。 package com.wenjiangs; import java.util.regex.Matcher; import java.util.regex.Pattern; public class PosixCharacterClassDemo {

  • Question leetcode: Number of Digit One | LeetCode OJ lintcode: (3) Digit Counts Count the number of k's between 0 and n. k can be 0 - 9. Example if n=12, k=1 in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,

  • Angular DigitOnly Directive and Mask Directive Demo Medium Article: Digit Only Directive in Angular input digitOnly directive An Angular directive only allows [0-9] in the input box when typing, pasti