Oggi siamo abituati a caricare le nostre foto sui social network o sul "cloud" senza pensare a quali dati portano dietro, sicuramente molti ancora non sanno che portano metadati ("informazioni sull'immagine") che non vediamo con il nudo occhio. Ma se fai clic con il pulsante destro del mouse su un'immagine e andiamo su proprietà e cerchiamo di vedere molte informazioni, lascio alcuni screenshot di come appaiono tali informazioni in Linux e Windows.
Ok, le informazioni che vediamo nelle immagini sopra non sono le più importanti, non possono sapere molto di noi, tranne che abbiamo scattato la foto, in realtà se mi permetti di prendere la tua posizione, la fotocamera avrà anche il luogo in cui la foto è stata scattata, e almeno in Windows può essere vista senza avere strumenti specifici (è nello stesso posto dell'immagine precedente Proprietà> Dettagli), guarda la seguente immagine (ho cancellato le informazioni):
Se andiamo su una pagina che inserendo la latitudine e la longitudine ci fornisce l'indirizzo esatto in cui è stata scattata la foto, inizia a sussistere un certo pericolo, un malintenzionato può scoprire dove viviamo.
INGRANDIRE
In questo tutorial ho intenzione di insegnare un codice Ruby che estrae i metadati da jpeg.webp, jpg.webp, anche se puoi anche ottenerli da immagini tiff.
La prima cosa di cui abbiamo bisogno è installare una libreria esterna chiamata exifr, per questo eseguiamo la seguente frase:
gem install exfrVediamo il codice, se hai programmato qualcosa con ruby sarà molto semplice:
require 'exifr' image = '/home/ubuntu/solvetic.jpg.webp' if EXIFR :: JPEG.webp.new (image) .exif? quindi stampa "Width:", EXIFR :: JPEG.webp.new (image) .width, "\ n" print "Height:", EXIFR :: JPEG.webp.new (image) .height, "\ n" print "Modello di fotocamera o mobile: ", EXIFR :: JPEG.webp.new (image) .model," \ n "print" Date: ", EXIFR :: JPEG.webp.new (image) .date_time," \ n "if EXIFR :: JPEG.webp.new ( image) .gps quindi stampa "Latitude:", EXIFR :: JPEG.webp.new (image) .gps.latitude, "\ n" print "Longitude:", EXIFR :: JPEG.webp.new (image) .gps.longitude, " \ n" end else mette "Nessun metadata" endPer prima cosa importiamo la libreria, dichiariamo una variabile con il percorso della nostra immagine e facciamo un piccolo controllo, quindi otterremo solo le proprietà dell'immagine (se c'è una proprietà che non ha valore, semplicemente rimane vuota). Nella parte finale del if controlleremo se ha dati gps, in modo che non ci dia un errore se è un valore nullo, se lo fa, lo mostriamo sullo schermo.
NotaDove vedi il testo? /home/ubuntu/solvetic.jpg.webp dovrebbe seguire il percorso della tua immagine.
Se eseguiamo il codice, abbiamo il seguente output della console:
Ecco uno zip con il codice sopra:
metadati Ruby.zip 373 byte 148 download
Ti è piaciuto e hai aiutato questo Tutorial?Puoi premiare l'autore premendo questo pulsante per dargli un punto positivo