synOCR icon indicating copy to clipboard operation
synOCR copied to clipboard

Feature: Detect and delete blank pages from scans

Open geimist opened this issue 1 year ago • 26 comments

Ziel:

Es gibt Scanner, welche nicht selbstständig Leerseiten erkennen können. Es wird also eine Funktion benötigt, die das (im Idealfall vor dem OCR) durchführt und Leerseiten verwirft. Der schnellste und unsauberste Weg bestünde darin, nach dem OCR auf vorhandenen Text zu prüfen. Damit würden aber auch Seiten, welche lediglich Bilder enthalten, gelöscht werden. Wichtig ist, dass die Lösung möglichst Architektur neutral (x84_64 / aarch64) und ressourcenschonend arbeitet.

Herausforderungen:

  • Bildrauschen - also gescannter Staub etc.
  • Ränder, Lochlöcher, Knicke, die als schwarze Linien erscheinen können.
  • Fast leere Seiten (z. B. nur wenige Zeichen auf ansonsten leeren Seiten) dürfen nicht als leer erkannt werden. Das könnte man möglicherweise mit einem Test auf vorhandene Zeichen NACH dem OCR erreichen.
  • Seiten ohne Text, aber mit Bildern dürfen nicht als leer erkannt werden.

Es gibt verschiedene Ansätze, um das Ziel zu erreichen:

  • Man könnte die Größe der einzelnen Seiten ermitteln und einen Grenzwert setzen.
  • Sauberer wäre es wahrscheinlich, den Deckungsgrad der Seiten zu ermitteln und auch hierfür einen Grenzwert setzen.

Inspiration:

geimist avatar Mar 31 '23 20:03 geimist