2010-07-03 5 views
5

Ich habe eine große Sammlung von gescannten Bildern, und sie sind alle etwas schief, mit einem weißen Bereich um sie herum.Wie kann ich Schräglagen in Bildern erkennen (und korrigieren)?

Also, diese Bilder haben Rechtecke von Farben, umgeben von einem großen weißen Bereich. Das Problem ist, dass diese Rechtecke der Farbe nicht parallel zum Bildrand sind.

Ich bin mir sicher, dass es eine Möglichkeit geben muss, diese Farbrechtecke programmatisch zu erkennen, so dass ich das Bild drehen kann (und es dadurch verzerren kann) und es dann so zuschneide, dass nur noch der interessante Teil übrig bleibt. Ich bin mir nicht ganz sicher, wie dieser Prozess heißt, daher habe ich Probleme bei der Suche nach einer Lösung bei Google.

Kennt jemand eine Annäherung, die mich anfangen würde? Irgendwelche Bibliotheken da draußen, auf die ich eingehen sollte? Oder der Name eines Algorithmus, der helfen würde?

Ich plane die Verwendung von Java für dieses Projekt, aber ich habe noch nicht wirklich angefangen, also bin ich offen für Bibliotheksvorschläge in jeder Sprache.

Antwort

3
  • Grenzdetektions
  • Hough-Transformation (wenn alle Rechtecke auf einem Bild die gleiche Schrägstellung aufweisen)
  • Rechteck Konturerkennung (verbundener Bauteilkontur, dann Mindestfläche umschließende Rechteck)
+0

Dank! Eine Suche nach Hough Transformation führte mich zu http://www.recognition-software.com/image/deskew/, die mein Problem nicht sofort aus der Box gelöst, aber ich war in der Lage, den Code ein wenig zu zwicken, um es zu bekommen sehr gut arbeiten. – pkaeding

+1

Dies ist eine kaputte Seite. Könnten Sie den Link bitte korrigieren? –

+0

Wurde es von Tess4j subsumiert? – wprl

1

Das könnte dir versuchen Sie auch scikit-image http://scikit-image.org/docs/dev/auto_examples/.

Es ist eine großartige Bibliothek für die Hough-Transformation, hat aber auch andere Methoden wie Radon-Transformation und geometrische Transformationen für diese Art von Aufgabe.

Dies ist eine Python-Bibliothek.

+0

wow, das sieht sehr nützlich aus! – pkaeding

1

Alyn ist ein Paket von Drittanbietern zum Erkennen und Korrigieren von Schräglagen in Bildern, die Text enthalten. Es verwendet Canny Edge Detection und Hough Transform, um eine Schräglage zu finden.

den Versatz zu erkennen, nur

./skew_detect.py -i image.jpg 

Um den Versatz zu korrigieren, laufen laufen

./deskew.py -i image.jpg -o skew_corrected_image.jpg