Frage:
Gibt es Tools, mit denen ein Bild automatisch geebnet werden kann?
pkaeding
2010-12-07 12:28:14 UTC
view on stackexchange narkive permalink

Ich frage mich, ob es Tools (Standalone-, Lightroom- / Photoshop-Plugins oder andere) gibt, die ein Foto aufnehmen, nach Linien suchen können, die fast vertikal oder horizontal sind (z. B. Horizonte, Telefonmasten usw.) und sich automatisch drehen und das Bild zuschneiden?

Dies ist derzeit ein manueller Vorgang für mich, und es scheint etwas zu sein, das automatisiert werden könnte.

Gibt es so etwas?

Ich dachte, Image Magick könnte das schaffen, aber dann fand ich Folgendes: http://www.wizards-toolkit.org/discourse-server/viewtopic.php?f=1&t=13597
Beachten Sie, dass das Drehen Ihres Bildes um einige Grad eine zerstörerische Operation ist, die mit dem Ausführen eines Unschärfefilters über Ihrem Bild vergleichbar ist. Das mag in Ordnung sein, aber es ist besser, zunächst zu üben, wie Sie Ihre Bilder gerade machen. (Und / oder verwenden Sie eine Kamera, die ihren Sensor automatisch leicht drehen kann, um einem Pegel zu entsprechen.)
Wenn Sie die lanczos3-Interpolation verwenden, ist es eher so, als würde ein Schärfungsfilter darüber ausgeführt :)
Original, bilinear, bikubisch, lanczos2: http://www.sequoiagrove.dk/images/rotateinterp.jpg
digikam scheint ein Plugin für thishttps zu haben: //www.digikam.org/node/445
Fünf antworten:
#1
+6
Matt Grum
2010-12-07 16:17:14 UTC
view on stackexchange narkive permalink

Es mag Programme geben, die versuchen, das zu tun, was Sie beschreiben, aber ich bezweifle, dass es so effektiv wäre. Wenn die Kamera leicht nach oben oder unten geneigt ist, erhalten Sie möglicherweise ein perfekt ebenes Bild, obwohl Sie keine einzige horizontale oder vertikale Linie haben.

Der Grund dafür ist, dass Ihre Telegraphenmasten usw. in einem Bild nicht vertikal sind, es sei denn, Ihre Kamera ist entlang der optischen Achse (die parallel zum Objektiv verläuft) flach, Ihre Telegraphenmasten usw. sind in einem Bild nicht vertikal ist eben - die Linien konvergieren alle an einem imaginären Fluchtpunkt am Himmel. Wenn sich die Kamera nicht auf einer echten horizontalen Linie befindet, wird sie im Bild nicht horizontal gerendert.

Es ist möglich, einen differenzierteren Ansatz zu verwenden, indem entweder versucht wird, den Horizont in Bildern zu identifizieren oder noch besser Gruppieren von Linien, die einen gemeinsamen Fluchtpunkt haben, Schätzen des Nickwinkels und damit des richtigen Winkels zum Drehen des Bildes, aber ein solcher Prozess wäre wesentlich komplizierter.

Wie könnte ein Bildverarbeitungsprogramm überhaupt wissen, was "Level" ist?
@PatFarrell Dinge wie Horizont, Gebäude, Pfosten oder Schilder usw. Ich würde sagen, es wäre viel einfacher als Gesichtserkennung oder Lächelnerkennung.
Wo ich wohne, kann man selten den Horizont sehen, zu viele Bäume. Ich würde vermuten, dass 99% meiner Fotos kein Schild, keinen Post usw. enthalten.
#2
+3
jrista
2010-12-08 00:40:08 UTC
view on stackexchange narkive permalink

Ich stimme dem, was Matt Grum gesagt hat, völlig zu ... zu versuchen, ein Bild, das auf einem rein logischen Algorithmus basiert, automatisch zu "nivellieren", wäre wirklich nur in der idealen Situation effektiv: Wenn Sie einen perfekt flachen Horizont in einem richtig zentrierten Bild haben, das Minimiert Linsen- und Perspektivverzerrungen.

Stellen Sie sich das Szenario vor, in dem Sie als Fotograf eine ebene Aufnahme von etwas gemacht haben, beispielsweise einem See, der kein perfekt "horizontal flaches" Ufer hat ... Das Ufer krümmt sich und trifft dich schließlich. Ein Computeralgorithmus kann versuchen, ein solches Bild auszugleichen, indem er das Ufer des Sees so flach wie möglich macht ... aber das ist falsch. Das Ufer des Sees sollte geneigt sein und sich schließlich zu Ihnen hin krümmen. Das menschliche Auge kann so etwas erkennen, da es zahlreiche Hinweise aus der gesamten Szene enthält, nicht nur Primärlinien. Kleine Dinge, wie zum Beispiel, wie "aufrechte" Bäume aussehen (was eine sehr kurzlebige Sache sein kann, die für einen Computeralgorithmus schwierig zu handhaben wäre).

Ich denke, dies ist eines dieser guten Argumente dafür Am besten können Sie in der Kamera, bevor Sie die Aufnahme machen, um sicherzustellen, dass Ihre Aufnahmen eben sind. Abgesehen von den technischen Schwierigkeiten beim präzisen Nivellieren von Aufnahmen mit einem automatischen Algorithmus sind Nicht-90-Grad-Drehungen eine der destruktivsten Änderungen, die Sie vornehmen können, da jedes Pixel im Bild neu abgetastet werden muss. Wenn Sie Ihre Aufnahmen so in der Kamera aufnehmen können, dass sie richtig ausgerichtet sind, müssen Sie keine Rotationen ausführen, die zu einer Verschlechterung der Bilddetails führen.

#3
+1
RyanN
2013-02-20 01:44:05 UTC
view on stackexchange narkive permalink

Ja, ich habe es nicht getan und einige C- oder Python-Programmierungen sind erforderlich, aber ich werde es bald versuchen.

Meine Situation ist eine Kamera, die an einem Mast montiert ist, der sich auf einer Boje befindet ein Bild machen, das immer den Horizont enthält. Dies sollte eine einfachere Anwendung sein als Ihre.

Schauen Sie sich zuerst OpenCV an. Insbesondere die Hough-Linien-Transformation.

Für meinen Fall erwarte ich, dass der Horizont so viel markanter ist als jede andere Linie, dass ich ihn so einstellen kann, dass nur eine Linie gefunden wird. Ich kann mich dann basierend auf dem Winkel der Linie drehen.

Für Ihre Anwendung würden Sie wahrscheinlich jede Linie um mehr als X Grad aus der Horizontalen oder Vertikalen herausfiltern.

Eine kleine Statistik, und Sie können möglicherweise herausfinden, wie viel gedreht werden muss.

In Bezug auf die verschlechterte Bildqualität werde ich RAW-Dateien in ppm anstelle von JPEG konvertieren, sodass es nicht viel mehr als ein Zuschneiden geben sollte.

#4
  0
John
2016-01-04 19:58:40 UTC
view on stackexchange narkive permalink

Das Lightroom-Entwicklungsmodul verfügt jetzt über eine integrierte Option. Keine externen Programme erforderlich. Es kann entweder horizontal oder vertikal ausgerichtet werden oder bei Vollautomatik auch divergierende Linien usw. ausgleichen. Es eignet sich recht gut für Bilder, bei denen die erwarteten vertikalen und horizontalen Linien offensichtlich sind.

#5
  0
LogicDaemon
2017-11-26 19:52:22 UTC
view on stackexchange narkive permalink

Google Fotos https://photos.google.com/ kann dies heutzutage auch. Keine RAW-Unterstützung und keine Stapelverarbeitung. Die Option für die automatische Ebene wird nur angezeigt, wenn Sie Lust dazu haben.

level option auto



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 2.0-Lizenz, unter der er vertrieben wird.
Loading...