Kako dobiti informacije s fotografije s Ruby

Sadržaj

Danas smo navikli postavljati svoje fotografije na društvene mreže ili u "oblak" bez razmišljanja o tome koje podatke nose iza sebe, zasigurno mnogi još uvijek ne znaju da nose metapodatke ("podatke o slici") koje ne vidimo goli oko. Ali ako desnom tipkom miša kliknete sliku i odemo na svojstva i tražimo da vidimo mnogo informacija, ostavljam neke snimke zaslona kako te informacije izgledaju u Linuxu i Windowsu.

U redu, ti podaci koje vidimo na gornjim slikama nisu najvažniji, oni ne mogu znati mnogo o nama, osim što smo snimili fotografiju. Zapravo, ako mi dopustite da vam odredim lokaciju, kamera će imati i mjesto gdje fotografija je snimljena, a u sustavu Windows barem se može vidjeti bez posebnih alata (nalazi se na istom mjestu kao i prethodna slika Svojstva> Pojedinosti), pogledajte sljedeću sliku (izbrisao sam podatke):

Ako odemo na stranicu koja nam prilikom umetanja zemljopisne širine i dužine daje točnu adresu na kojoj je fotografija snimljena, počinje postojati određena opasnost, zlonamjerna osoba može saznati gdje živimo.

POVEĆAJTE

U ovom vodiču ću otići naučiti Ruby kod koji izvlači metapodatke iz jpeg.webp, jpg.webp, iako ih možete dobiti i sa tiff slika.

Prvo što nam je potrebno je instalirati vanjsku biblioteku koja se zove exifr, za to izvršavamo sljedeću rečenicu:

 dragulj instalirati exifr
Pogledajmo kod, ako ste nešto programirali s rubinom, bit će vrlo jednostavno:
 zahtijevaju 'exifr' image = '/home/ubuntu/solvetic.jpg.webp' ako EXIFR :: JPEG.webp.new (image) .exif? zatim ispišite "Width:", EXIFR :: JPEG.webp.new (image) .width, "\ n" print "Height:", EXIFR :: JPEG.webp.new (image) .height, "\ n" print "Model fotoaparata ili 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 zatim ispišite "Latitude:", EXIFR :: JPEG.webp.new (image) .gps.latitude, "\ n" print "Longitude:", EXIFR :: JPEG.webp.new (image) .gps. longitude, " \ n "end else stavlja kraj" No metadata "na kraj
Prvo uvozimo knjižnicu, deklariramo varijablu sa stazom naše slike i malo provjeravamo, a zatim ćemo samo dobiti svojstva slike (ako postoji bilo koje svojstvo koje nema vrijednost, jednostavno ostaje prazno). U posljednjem dijelu if provjerit ćemo ima li GPS podatke, tako da nam ne daje pogrešku ako je nula vrijednost, ako ima, prikazujemo to na ekranu.

BilješkaGdje vidite tekst /home/ubuntu/solvetic.jpg.webp treba ići putem vaše slike.

Ako pokrenemo kôd, imamo sljedeći izlaz na konzoli:

Ovdje je poštanski broj s gornjim kodom:

metapodaci Ruby.zip 373 bajta 148 preuzimanja

Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave