Panorama de uma viagem
Uma imagem pode ser armazenada como um arquivo contendo tanto conteúdo de pixels como meta-informação. Usando Import, você pode obter tais metadados e descobrir informações programáveis sobre o contexto de uma imagem.
Importe e analise uma coleção de fotos tiradas durante uma visita a Lisboa.
In[1]:=
![Click for copyable input](assets.pt-br/a-trip-at-a-glance/In_17.png)
files = Map[img \[Function] ExampleData[img, "FilePath"],
ExampleData[{"TestImageSet", "Lisbon2016"}]];
Veja um histograma de datas das imagens.
In[2]:=
![Click for copyable input](assets.pt-br/a-trip-at-a-glance/In_18.png)
dates = Map[file \[Function] Import[file, "DateTime"], files];
In[3]:=
![Click for copyable input](assets.pt-br/a-trip-at-a-glance/In_19.png)
DateHistogram[dates, Quantity[1, "Hours"]]
Out[3]=
![](assets.pt-br/a-trip-at-a-glance/O_11.png)
Veja uma colagem das imagens em miniatura.
In[4]:=
![Click for copyable input](assets.pt-br/a-trip-at-a-glance/In_20.png)
thumbnails =
ExampleData[{"TestImageSet", "Lisbon2016"}, "ThumbnailList"];
In[5]:=
![Click for copyable input](assets.pt-br/a-trip-at-a-glance/In_21.png)
ImageCollage[thumbnails, Method -> "Columns", ImagePadding -> 2]
Out[5]=
![](assets.pt-br/a-trip-at-a-glance/O_12.png)
Apresente as fotos em uma linha do tempo
In[6]:=
![Click for copyable input](assets.pt-br/a-trip-at-a-glance/In_22.png)
TimelinePlot[MapThread[Labeled, {dates, thumbnails}],
PlotLayout -> "Vertical", ImageSize -> Medium]
Out[6]=
![](assets.pt-br/a-trip-at-a-glance/O_13.png)
Reuna todas as informações em um conjunto de dados.
In[7]:=
![Click for copyable input](assets.pt-br/a-trip-at-a-glance/In_23.png)
gps = Map[file \[Function] Import[file, "GeoPosition"], files];
In[8]:=
![Click for copyable input](assets.pt-br/a-trip-at-a-glance/In_24.png)
ds = Dataset[
MapThread[
AssociationThread[{"Thumbnail", "DateTime",
"GeoPosition"} -> {##}] &, {thumbnails, dates, gps}]]
Out[8]=
![](assets.pt-br/a-trip-at-a-glance/O_14.png)
Mostre os locais onde as fotos foram tiradas.
In[9]:=
![Click for copyable input](assets.pt-br/a-trip-at-a-glance/In_25.png)
GeoGraphics[
MapThread[
GeoMarker, {Normal[ds[All, "GeoPosition"]],
Normal[ds[All, "Thumbnail"]]}], ImageSize -> Medium]
Out[9]=
![](assets.pt-br/a-trip-at-a-glance/O_15.png)