Je développe généralement avec Rails. À ce moment-là, j'étais accro à la partie inattendue de l'acquisition des informations de localisation, est-ce donc un mémorandum du code créé? La tête haute? Je vais le laisser tel quel. Si vous souhaitez voir uniquement la situation dans laquelle les informations GPS ne peuvent pas être obtenues, passez à «GPS n'a pas pu être obtenu».
Immédiatement, je vais essayer de confirmer les informations de localisation dans le terminal. Vous pouvez également copier et coller le code.
environnement: Ruby2.6.6 ImageMagick 7.0.10-34
Cette fois, j'ai créé un fichier main.rb
dans un répertoire appelé gps_test
.
Ensuite, écrivez le code suivant.
main.rb
require 'rmagick'
img = Magick::ImageList.new(File.expand_path('~/Downloads/Nom des données d'image'))
p img
p img.get_exif_by_entry('GPSLatitude')
#Latitude: conversion en nombre décimal et sortie
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
#Longitude: conversion en nombre décimal et sortie
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
Entrez le fichier image que vous souhaitez lire (IMG_8765.jpg, etc.) dans ʻNom des données d'image`.
Si vous faites Magick :: ImageList.new (File.expand_path ('~ / Desktop / image data name'))
, il sera lu depuis le bureau. (Comme vous le voyez ..)
Dans mon cas, l'autorisation de lecture du répertoire de téléchargement n'a pas été définie, je l'ai donc chargée en tant que Desktop
.
Exécutez les opérations suivantes à partir du terminal dans le projet
$ gem install rmagick
À ce stade, si une erreur se produit, cela sera utile. L'installation a échoué avec l'installation de gem rmagick Impossible d'installer avec l'installation groupée "rmagick"
$ 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
Vous avez maintenant la latitude et la longitude du GPS!
En conclusion ** Le GPS n'a pas pu être obtenu car il s'agissait d'une image HDR prise avec un iPhone. ** Cela signifie.
Il existe une fonction appelée "HDR auto" dans les paramètres de l'iPhone.
HDR automatique: Une fonction qui permet de prendre plusieurs photos en continu à grande vitesse avec différentes expositions et de les combiner en une photo qui exprime clairement les zones lumineuses et les détails d'ombre.
S'il s'agit d'un terminal iPhone, vous pouvez voir la carte en la définissant avec les informations de localisation = le GPS sera également acquis J'ai pensé, mais je n'ai pas pu l'obtenir avec le contenu décrit au début. (Si vous savez comment l'obtenir, faites-le moi savoir ...)
Le programme ne devrait pas se tromper, alors pourquoi ne puis-je pas comprendre ... Vous voudrez peut-être vous assurer que le HDR automatique est désactivé. Je me demande combien d'heures j'ai perdu avec ça ... pleurer Désactiver le HDR automatique de l'iPhone
Je faisais une simple vérification à partir de l'aperçu pour voir si les informations de localisation étaient incluses. [Mac] Comment vérifier rapidement les informations de position (géolocalisation) d'une image
** Cependant, pourquoi le GPS ne peut-il pas être lu alors que les informations de localisation sont définies? J'ai essayé de vérifier s'il existe un modèle de réglage. ** **
Motif 1 à la fois ON Activer "HDR automatique (fonction de synthèse)" Résultat: Activez "Quitter la photo normale" → Le GPS ne peut pas être lu
Motif 2 un côté Activer "HDR automatique (fonction de synthèse)" Résultat: "Laisser une photo normale" est désactivé → Le GPS ne peut pas être lu
Motif 3 un côté La fonction "HDR automatique (fonction de synthèse)" est désactivée. Résultat: "Laisser une photo normale" est désactivé → Le GPS ne peut pas être lu
Motif 4 État de l'image de référence La fonction "HDR automatique (fonction de synthèse)" est désactivée. Résultat: Activez «Laisser les photos normales» ** → Le GPS peut être acquis **
image de référence:
Auto-apprentissage et inefficace, mais c'est aussi une expérience! !! Je pense que j'ai aussi grandi un peu cette fois et je continuerai à relever le défi du développement. C'était un contenu basique, mais j'espère que vous pourrez vous référer à la méthode d'acquisition et aux précautions.
Utilisez R Magick pour convertir les informations de position Exif de l'image en valeur décimale
Recommended Posts