![]() |
[Mac/Linux/Win] Visualizer of AF data from Sony cameras (JPEG&ARW EXIFs)
Guten Morgen,
Dies ist eine Fortsetzung aus dem A9-Thread, wo "herby1961" ein Tool (Python-Script) zur Visualisierung von AF-Fokuspunkten in SONY JPEG/ARW Dateien vorgestellt hat. Danke hierfür!!! :top: Installation und Nutzung In diesem separaten Thread soll es um einen Erfahrungsaustausch bei Verwendung des Tools "Visualizer of AF data from Sony cameras" gehen. Das Script ist quelloffen und auf GitHub herunterladbar. Es wird bisher erfolgreich unter Windows, MacOS und Linux (Ubuntu 16.04.2) verwendet. Windows 7:
(Quelle) MacOS:
Linux: Siehe MacOS.
Troubleshooting (1) Problem (MacOS/Linux): Beim Laden eines ARW oder JPEG Files (A7MII) kommt es leider zu einer Exception im zusätzlich eingebundenen Paket 'Tkinter': Code:
Exception in Tkinter callback Lösung: Den o.g. Parameter aus dem Exiftool-Aufruf entfernen behebt das Problem, und "Exiftool" wird von nun an korrekt ausgeführt. Soweit eine kurze Einführung zur Installation/Konfiguration und zum Erstaufruf von 'afv.py'. Beste Grüße, euer meshua |
Installation Windows 7
Ich hänge mal meine Installationsanleitung für Windows 7 auch hier rein:
1) Phyton von https://www.python.org/downloads/release/python-360/ installiert 2) https://bootstrap.pypa.io/get-pip.py local abgespeichert. 3) durch doppelklick die Datei get-pip.py ausgeführt (nach installation von Python) 4) auf einem Windows Command Prompt die Kommandos: pip install matplotlib pip install rawpy pip install pillow 5) Phil Harvey's EXIFTool binary (named exiftool.exe) to be placed in the same folder as afv.py script. Exiftool download (http://www.sno.phy.queensu.ca/~phil/exiftool/) 6) Das Phyton Script https://github.com/SK-Hardwired/s_afv Mittels Copy and Paste in einen Texteditor kopiert und ins selbe Verzeichnis wie Punkt 5. 7) afv.py durch doppelklick starten. Unter Mac OSX habe ich auch kein Problem Python 3.6 parallel zu installieren. Aber danach macht es Probleme mit mittels "pip" nachzuinstallierenden Modulen. Die krieg ich momentan nicht in die 3.6 Version. Beste Grüße Herby |
Ich bin so oder so dafür, dass wir ein Unterforum erstellen, wo wir solche Projekte zusammen tragen. Das macht es freundlicher für zukünftige Entwickler etc ...
Es wäre schade wenn so ein nützliches Projekt, irgend wann im See der Beiträge verschwindet! |
MacOS Installationsanleitung & Konfiguration ergänzt. ;) Leider läuft das Script immer noch nicht fehlerfrei...wer Ideen hat, was die Ursache sein könnte: lasst es uns alle wissen... :crazy::top:
Viele Grüße, meshua |
Zitat:
So wie es aussieht funktionert das Füllen des Bereichs "exifdata" durch das tool exiftool nicht sauber. Wenn ich exiftool -a 20170501-15-27-31-A6509604.ARW manuell in dem Verzeichniss aufrufe bekomme ich folgenden output: Code:
ExifTool Version Number : 10.50 Code:
for i,each in enumerate(exifdata): Irgendwas geht da offensichtlich beim Aufruf von exiftool schief und wird nicht reported. Ich habe einen Kollegen der sich mit Python auskennt, den werde ich morgen mal fragen wie man das debuggen kann. Grüße Herby |
Zitat:
Zitat:
Code:
for i,each in enumerate(exifdata): |
Hallo Usch,
Vielen Dank für Deinen Input. Das hat mal gut weitergeholfen. Kleine Anmerkung unter Python 3.6 muss es Code:
print (each) Damit habe ich gesehen das die gesamte Hilfe von exiftool ausgegeben wird. Damit wird exifdata ausgeführt Code:
exifdata = subprocess.check_output(['exiftool','-a',F],shell=True,universal_newlines=True,stdin=subprocess.PIPE,stderr=subprocess.PIPE) das muss offensichtlich unter macOS anders parametriert werden als unter windows. Und damit sind wir bei der nächsten Herausforderung. Wie frägt man ab unter welchem Betriebssystem das Script läuft und löst den richtigen Aufruf aus? Werde mal suchen, vielleicht hat in der Zwischenzeit wer eine Idee. Grüße Herby |
Guten Morgen,
Zitat:
Zitat:
Wir kommen dem Problem aber näher...:top: Viele Grüße, meshua |
Zitat:
Mach mal ein print (F) vorher. |
Zitat:
Code:
# exifdata = subprocess.check_output(['exiftool', '-a',F],shell=True,universal_newlines=True,stdin=subprocess.PIPE,stderr=subprocess.PIPE) Code:
exifdata = subprocess.check_output(['exiftool', '-a', F],universal_newlines=True) |
Alle Zeitangaben in WEZ +2. Es ist jetzt 04:37 Uhr. |