Ich entwickle normalerweise mit Rails. Zu dieser Zeit war ich süchtig nach dem unerwarteten Teil beim Erfassen der Standortinformationen. Ist es also ein Memorandum des erstellten Codes? Kopf hoch? Ich werde es als belassen. Wenn Sie nur die Situation anzeigen möchten, in der keine GPS-Informationen abgerufen werden können, fahren Sie mit "GPS konnte nicht abgerufen werden" fort.
Ich werde sofort versuchen, die Standortinformationen im Terminal zu bestätigen. Sie können den Code auch kopieren und einfügen.
Umgebung: Ruby2.6.6 ImageMagick 7.0.10-34
Dieses Mal habe ich eine main.rb
-Datei in einem Verzeichnis namens gps_test
erstellt.
Dann schreiben Sie den folgenden Code.
main.rb
require 'rmagick'
img = Magick::ImageList.new(File.expand_path('~/Downloads/Name der Bilddaten'))
p img
p img.get_exif_by_entry('GPSLatitude')
#Breitengrad: In Dezimalzahl konvertieren und ausgeben
exif_lat = img.get_exif_by_entry('GPSLatitude')[0][1].split(',').map(&:strip)
latitude = (Rational(exif_lat[0]) + Rational(exif_lat[1])/60 + Rational(exif_lat[2])/3600).to_f
p latitude
#Längengrad: In Dezimalzahl konvertieren und ausgeben
exif_lng = img.get_exif_by_entry('GPSLongitude')[0][1].split(',').map(&:strip)
longitude = (Rational(exif_lng[0]) + Rational(exif_lng[1])/60 + Rational(exif_lng[2])/3600).to_f
p longitude
Geben Sie die zu lesende Bilddatei (IMG_8765.jpg usw.) unter "Name der Bilddaten" ein.
Wenn Sie "Magick :: ImageList.new (File.expand_path ('~ / Desktop / Bilddatenname')") ausführen, wird es vom Desktop gelesen. (Wie Sie es sehen ..)
In meinem Fall wurde die Leseberechtigung des Download-Verzeichnisses nicht festgelegt, daher habe ich es als "Desktop" geladen.
Führen Sie Folgendes vom Terminal im Projekt aus
$ gem install rmagick
Wenn zu diesem Zeitpunkt ein Fehler auftritt, ist dies hilfreich. Installation mit gem install rmagick fehlgeschlagen Kann nicht mit Bundle-Installation "rmagick" installiert werden
$ ruby main.rb
ruby main.rb
[/Users/tn/Desktop/Akihabara.jpeg JPEG 1200x1600 1200x1600+0+0 DirectClass 8-bit 535kb]
scene=0
[["GPSLatitude", "35/1, 41/1, 5920/100"]]
35.699777777777776
139.7717
Jetzt haben Sie den GPS-Breiten- und Längengrad!
Fazit ** GPS konnte nicht erfasst werden, da es sich bei Aufnahme mit einem iPhone um ein HDR-Bild handelte. ** Das bedeutet.
In den iPhone-Einstellungen gibt es eine Funktion namens "Auto HDR".
Automatische HDR: Eine Funktion, mit der mehrere Fotos mit verschiedenen Belichtungen kontinuierlich mit hoher Geschwindigkeit aufgenommen und mit einem Foto kombiniert werden können, das die Details heller Bereiche und Schatten klar ausdrückt.
Wenn es sich um ein iPhone-Terminal handelt, können Sie die Karte anzeigen, indem Sie sie mit Standortinformationen einstellen = GPS wird ebenfalls erfasst Ich dachte, aber ich konnte es mit den am Anfang beschriebenen Inhalten nicht bekommen. (Wenn Sie wissen, wie Sie es bekommen, lassen Sie es mich bitte wissen ...)
Das Programm sollte nicht falsch sein, warum kann ich es nicht bekommen? Möglicherweise möchten Sie sicherstellen, dass die automatische HDR ausgeschaltet ist. Ich frage mich, wie viele Stunden ich damit verschwendet habe IPhone HDR automatisch ausschalten
Ich habe eine einfache Überprüfung in der Vorschau durchgeführt, um festzustellen, ob die Standortinformationen enthalten waren. [Mac] So überprüfen Sie schnell die Positionsinformationen (Geotag) eines Bildes
** Warum kann GPS jedoch nicht gelesen werden, obwohl die Standortinformationen festgelegt sind? Ich habe versucht zu überprüfen, ob es ein Einstellungsmuster gibt. ** ** **
Muster 1 beide EIN "Automatische HDR (Synthesefunktion)" einschalten Ergebnis: Aktivieren Sie "Normales Foto verlassen" → GPS kann nicht gelesen werden
Muster 2 auf einer Seite "Automatische HDR (Synthesefunktion)" einschalten Ergebnis: Deaktivieren Sie "Normale Fotos hinterlassen" → GPS kann nicht gelesen werden
Muster 3 auf einer Seite "Automatische HDR (Synthesefunktion)" ist ausgeschaltet. Ergebnis: Deaktivieren Sie "Normale Fotos hinterlassen" → GPS kann nicht gelesen werden
Muster 4 Zustand des Referenzbildes "Automatische HDR (Synthesefunktion)" ist ausgeschaltet. Ergebnis: Aktivieren Sie "Normale Fotos hinterlassen" ** → GPS kann erfasst werden **
Referenzbild:
Selbststudium und ineffizient, aber das ist auch eine Erfahrung! !! Ich denke, ich bin auch dieses Mal ein wenig gewachsen und werde mich weiterhin der Herausforderung der Entwicklung stellen. Es war ein grundlegender Inhalt, aber ich hoffe, Sie können sich auf die Erwerbsmethode und die Vorsichtsmaßnahmen beziehen.
Verwenden Sie R Magick, um Bild-Exif-Positionsinformationen in Dezimalwerte umzuwandeln
Recommended Posts