From 1c10c68053ccbe554a486b53de3b5111ee3bd8da Mon Sep 17 00:00:00 2001 From: TanerUslu Date: Wed, 29 Jul 2026 15:18:56 +0200 Subject: [PATCH] Zeichen-Whitelist der Texterkennung um Kleinbuchstaben erweitert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit tessedit_char_whitelist ließ bisher nur Großbuchstaben, Ziffern und wenige Sonderzeichen zu. Der Nutzer will den vollständigen Etikettentext sehen, nicht nur die von der App verstandenen Felder - die Whitelist deckt deshalb jetzt Groß- und Kleinbuchstaben, Ziffern sowie die auf Etiketten üblichen Satz- und Sonderzeichen ab. Das kann die Genauigkeit bei den Codeteilen (Kapazität, Rank, Geschwindigkeit, Teilenummer) etwas verringern - eine bewusst in Kauf genommene Abwägung, siehe Kommentar an Ort und Stelle. --- src/ocr.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/ocr.js b/src/ocr.js index bd5e8dd..a73222a 100644 --- a/src/ocr.js +++ b/src/ocr.js @@ -117,8 +117,19 @@ function getWorker() { workerPromise = createWorker('eng') .then(async (worker) => { await worker.setParameters({ - // Etiketten enthalten nur Grossbuchstaben, Ziffern und wenige Sonderzeichen. - tessedit_char_whitelist: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-/. x', + // Der Nutzer will den vollstaendigen Etikettentext sehen, nicht nur + // die von der App verstandenen Felder (die ohnehin nur Grossbuch- + // staben, Ziffern und wenige Zeichen brauchen) - deshalb Gross- UND + // Kleinbuchstaben, Ziffern sowie die auf Etiketten ueblichen Satz- + // und Sonderzeichen. Das kann die Genauigkeit bei den Codeteilen + // (Kapazitaet, Rank, Geschwindigkeit, Teilenummer) etwas verringern, + // weil Tesseract nun z.B. zwischen "O" und "o" unterscheiden muss - + // hingenommen, weil extractFields() ohnehin verwechslungstolerant + // gegen die bekannten Werte prueft (siehe spec.js/CONFUSIONS) und + // der Nutzer diesen Tausch ausdruecklich will. + tessedit_char_whitelist: + 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789' + + ' -/.,:;()+*_#%&', }); return worker; })