|
|
|||||||||||||||
|
03.05.2017, 08:11 | #1 |
Registriert seit: 08.08.2005
Ort: Ocean Ave, San Francisco, CA 94112
Beiträge: 5.473
|
[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!!! 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 Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/tkinter/__init__.py", line 1699, in __call__ return self.func(*args) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/backends/backend_tkagg.py", line 420, in button_release_event FigureCanvasBase.button_release_event(self, x, y, num, guiEvent=event) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/backend_bases.py", line 1940, in button_release_event self.callbacks.process(s, event) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/cbook.py", line 554, in process proxy(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/cbook.py", line 416, in __call__ return mtd(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/matplotlib/widgets.py", line 229, in _release func(event) File "./Applications/AFV/afv.py", line 72, in ofile self.start(F) File "./Applications/AFV/afv.py", line 136, in start tag,val = each.split(':',1) # '1' only allows one split ValueError: not enough values to unpack (expected 2, got 1) 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
__________________
Aktuelle Serie: Eun Kyung - A Late Summer Afternoon || San Francisco | Frankfurt | Hongkong: Google+ * IG * FB Geändert von meshua (07.05.2017 um 22:42 Uhr) Grund: MacOS Installationsanleitung & Konfiguration ergänzt, Problemlösung ergänzt, Linux Installationshinweis ergänzt |
Sponsored Links | |
|
03.05.2017, 09:06 | #2 |
Registriert seit: 11.11.2015
Ort: Österreich - Niederösterreich
Beiträge: 390
|
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
__________________
www.herbertgrabmayer.eu Geändert von herby1961 (04.05.2017 um 04:38 Uhr) |
03.05.2017, 11:30 | #3 |
Registriert seit: 02.01.2008
Ort: Wien
Beiträge: 2.466
|
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! |
03.05.2017, 17:22 | #4 |
Themenersteller
Registriert seit: 08.08.2005
Ort: Ocean Ave, San Francisco, CA 94112
Beiträge: 5.473
|
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...
Viele Grüße, meshua
__________________
Aktuelle Serie: Eun Kyung - A Late Summer Afternoon || San Francisco | Frankfurt | Hongkong: Google+ * IG * FB |
03.05.2017, 21:01 | #5 | |
Registriert seit: 11.11.2015
Ort: Österreich - Niederösterreich
Beiträge: 390
|
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 File Name : 20170501-15-27-31-A6509604.ARW Directory : . File Size : 24 MB File Modification Date/Time : 2017:05:01 15:27:30+02:00 File Access Date/Time : 2017:05:03 21:41:08+02:00 File Inode Change Date/Time : 2017:05:02 17:06:14+02:00 ......... Code:
for i,each in enumerate(exifdata): # tags and values are separated by a colon tag,val = each.split(':',1) # '1' only allows one split exif[tag.strip()] = val.strip() 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
__________________
www.herbertgrabmayer.eu Geändert von herby1961 (03.05.2017 um 21:11 Uhr) |
|
Sponsored Links | |
|
03.05.2017, 23:01 | #6 | ||
Registriert seit: 16.08.2010
Beiträge: 18.847
|
Zitat:
Zitat:
Code:
for i,each in enumerate(exifdata): if ':' in each: # tags and values are separated by a colon tag,val = each.split(':',1) # '1' only allows one split exif[tag.strip()] = val.strip() else: print each
__________________
Any feature is a bug unless it can be turned off. (Heuer's Law, 1990) Geändert von usch (03.05.2017 um 23:54 Uhr) |
||
04.05.2017, 06:56 | #7 |
Registriert seit: 11.11.2015
Ort: Österreich - Niederösterreich
Beiträge: 390
|
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
__________________
www.herbertgrabmayer.eu |
04.05.2017, 07:52 | #8 | ||
Themenersteller
Registriert seit: 08.08.2005
Ort: Ocean Ave, San Francisco, CA 94112
Beiträge: 5.473
|
Guten Morgen,
Zitat:
Zitat:
Wir kommen dem Problem aber näher... Viele Grüße, meshua
__________________
Aktuelle Serie: Eun Kyung - A Late Summer Afternoon || San Francisco | Frankfurt | Hongkong: Google+ * IG * FB |
||
04.05.2017, 12:40 | #9 | |
Registriert seit: 16.08.2010
Beiträge: 18.847
|
Zitat:
Mach mal ein print (F) vorher.
__________________
Any feature is a bug unless it can be turned off. (Heuer's Law, 1990) |
|
04.05.2017, 17:17 | #10 | |
Registriert seit: 11.11.2015
Ort: Österreich - Niederösterreich
Beiträge: 390
|
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)
__________________
www.herbertgrabmayer.eu |
|
Sponsored Links | |
|
|
Themen-Optionen | |
Ansicht | |
|
|