Hallöchen,
ich frage mich, ob es da vielleicht eine fertige Komponente gibt, welche (leicht) schief eingescannte Dokumente wieder richtig rotiert und schwarze Ränder abschneidet...
DIe andere Idee wäre Kantenerkennung selbst basteln, drehen, wegschneiden.
Aber davor scheue ich mich...
Gibt es eine fertige Lösung?
Gruß mru
Hallo!
Hatte selbst schonmal so etwas gesucht, aber die Suche ist leider erfolglos geblieben (hab' aber auch nur ca. 1/2 Std. in Google gesucht). Auch selbstmachen ist nicht gerade einfach, da muss man erstmal einen einfachen Kantensuch-Algorithmus schreiben. Und das war mir dann auch zuviel.
Wenn du was im Netz findest, wäre ein Link-Verweis ganz nett.
Nobody is perfect. I'm sad, i'm not nobody 🙁
Na selbercoden ist auch mal ganz fein 😁
Will nur vermeiden, dass es das schon opensource irgendwo gibt 🤔
Hallo!
@ujr:
Danke für den Link, das Projekt kannte ich noch nicht.
Wenn man nach "deskewing" mittels Google sucht, findet man auch zahlreiche weitere Treffer, welche den grundlegenden Algorithmus erklären und mit zusätzlichem "C#" findet man auch .NET-Projekte.
Nobody is perfect. I'm sad, i'm not nobody 🙁
Super Leute,
ja google ist mächtig, aber man muss halt wissen wonach man sucht... 🤔
Wenn ich das so überfliege, wird zwar beschrieben wie ich ein Bild drehen kann, nicht aber wie ich den Winkel erkenne um den gedreht werden muss!
Gruß mru
So wie ich das überflogen habe, wird das schon berechnet (mit EstimateBestShearXFactor
bzw. EstimateBestShearXFactor
, Kommentar am Anfang der Methode lautet: :::{style="color: green;"}X Scherung bestimmen){green}
).
mfg
SeeQuark
Hmm ja, aber ist es denn eine "Scherung"?
http://de.wikipedia.org/wiki/Scherung_%28Geometrie%29
Wenn es schief eingescannt ist ändert sich nicht die Fläche wie bei einer Scherung.
Gruß mru
Hallo mru,
das Programm korrigiert die Transformation durch Anwenden von zwei Scherungen und kann damit auch Drehungen rückgängig machen.
herbivore
Hi,
der Vollständigkeit halber unten noch zwei Formeln, an denen man sieht, wie man eine Rotation noch darstellen kann.
Bei Verdrehten Text in Bitmap zurückdrehen kann man beim ersten Bild gut erkennen (wenn man genau hinguckt und mal seinen Kopf dreht), dass der Text nicht nur verdreht sondern auch geschert war.
Deshalb musste dort quasi eine Drehung und eine Scherung geschätzt werden. Wenn man das mit unten stehenden Formeln auffasst, kann man das gleich in 2 Scherungen umrechnen (und die Skalierung außen vor lassen)
(wegen der versteckten Scherung konnte man dort also auch nicht die AForge-eigene Rotationsschätzung verwenden, die bei einer reinen Drehung allderings wegen der einmaligen Hough-Transformation effizienter sein sollte)
Im übrigen habe ich mal gehört/gelesen, dass manchmal eine Rotation auch durch 3 Scherungen implementiert wird, weil es effizienter umzusetzen sei. (Das trifft aber wohl nur zu, wenn keine gleichzeitige Glättung verwendet wird - und dann wirds pixelig)
beste Grüße
zommi
Ergänzung:
seht mal nach bei Deskew in LowLevelGraphicsLibrary
Das sollte auch funktionieren.
Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.