2011-03-21 Was spricht aber dagegen, überhaupt alle Bilder einem Entzerrungsprozess zu unterziehen? Profis, die Lightroom verwenden, haben damit kein Problem. Amateure können das aber auch. Alle Objektive haben kissenartige (Teleobjektive) oder tonnenförmige (Weitwinkelobjektive) Verzerrung. Die Verzerrung ist kein Mangel sondern eine optische Gegebenheit. Es gibt auch verzerrungsfreie Objektive, meist aber mit Festbrennweiten. Es ist möglich, diese Verzerrung rechnerisch zu entfernen. Viele High-End-Bildbearbeitungsprogramme verfügen über solche Entzerrungsfunktionen, man muss lediglich die Kamera und das Objektiv eingeben und oft nicht einmal das, weil sich das Programm diese Daten aus der EXIF-Information des Bildes holt. Auch Spiegelreflexkameras (zum Beispiel meine Canon 60d) verfügen über die Möglichkeit, diese Entzerrung bereit in der Kamera durchzuführen. Leider werden aber nur die Canon-Objektive unterstützt. Bei Fremdfabrikaten wird diese Entzerrungsfunktion ausgeschaltet. PTLensPtlens ist ein selbständiges Programm zur Entzerrung digitaler Bilder, enthält aber auch ein PlugIn für Lightroom und Photoshop. Die Liste der unterstützen Kameras reicht von Kompaktkameras aller namhafter Hersteller bis zu Spiegelreflexkameras mit allen Wechselobjektiven sowohl der Hersteller als auch der Fremdhersteller.Homepage von PTLens In der ZIP-Datei ist sowohl eine 32-Bit als auch eine 64-Bit-Version enthalten. PTLens installiert sich in C:\Program Files\ePaperPress\PTLens\ PTLens kann auch in deutscher Sprache bedient werden, die mitgelieferte Hilfe-Datei ist aber in englisch. Was man einem Bild antun kann:
Ein entzerrtes Bild ist ein Duplikat des Originals mit nachgestelltem "_pt". Nachdem das erste Bild entzerrt wurde, können weitere Bilder eines Ordners durch Mehrfachauswahl (Ctrl oder Shift) in einem Batchmode abgearbeitet werden, in dem die beim ersten Bild gegebene Entzerrungseinstellung für alle weiteren Bilder eines Ordners angewendet wird, wobei aber die Angaben über die Kamera, das Objektiv und die Brennweite aus jedem Bild individuell ausgelesen werden. Auf Grund welcher Daten PTLens die Korrektur vornimmt, erfährt man nicht. Diese Daten sind in einer Binärdatei kodiert abgelegt. ImageMagickEs gibt auch eine grundlegendere Methode, Bilder zu verzerren oder zu entzerren. Und zwar mit dem Programm ImageMagick. Es handelt sich um ein Kommandozeilenprogramm, das über die Eingabeaufforderung aufgerufen wird. Bei der Installation von ImageMagick wird dessen Binärverzeichnis auch im Pfad aufgenommen. Es sind mehrere Programme, die den Funktionsumfang von ImageMagick darstellen, zum Beispiel convert.exe und identify.exe aber auch andere. Programm zur automatischen BildentzerrungDas nachfolgende Skript distort.ps1 erleichtert die Kommandozeileneingabe, wobei die Parameter $a, $b und $c die Entzerrung vornehmen. Image Magick muss am Rechner installiert sein und dessen bin-Verzeichnis muss im Pfad enthalten sein. Grundlage für dieses Programm ist das folgende VB-Programm barrel.vbs, welches aber mit dem Windows Skripting Host (einer äteren Skript-Technologie) ausgeführt werden muss.
barrel.vbsconst strConv = "Convert" ' name of the IM Convert program const strAdd = "_ptr" ' string atached to the filename ' Dim wsh,fs Set wsh = CreateObject("Wscript.Shell") Set fs = CreateObject("Scripting.FileSystemObject") ' ' names of the in- and output files strFileIn = WScript.Arguments(0) Pos = InStrRev(strFileIn,".") strFileOut = Left(strFileIn,Pos - 1) & strAdd & Mid(strFileIn, Pos) ' ' evaluation of the focal length and calculation of parameter b command = "cmd /k identify -format ""%[EXIF:FocalLength]"" " & strFileIn Set objExec = wsh.Exec(command) strf = objExec.StdOut.Readline f = eval(strf) b = 0.000005142 * f * f * f -0.000380839 * f * f + 0.009606325 * f -0.075316854 d = 1 - b b=replace(b,",",".") ' only needed in the German version d=replace(d,",",".") ' Command = strConv & " """ & strFileIn _ & """ -quality 80%% -virtual-pixel black -filter point -distort Barrel ""0.0 " _ & b & " 0.0 " & d & """ """ & strFileOut & """" wsh.run command, 7, true |