Язык Wolfram Language

Вычислительная фотография

Фотоотчет о поездке

Изображение может быть сохранено в виде файла, содержащего как пиксели, так и метаинформацию. С помощью функции Import, вы можете получить эту метаинформацию и воспользоваться программируемыми аспектами фотографии.

Загрузим и проанализируем коллекцию фотографий, сделанных во время визита в Лиссабон.

In[1]:=
Click for copyable input
files = Map[img \[Function] ExampleData[img, "FilePath"], ExampleData[{"TestImageSet", "Lisbon2016"}]];

Рассмотрим гистограмму дат, в которые были сделаны снимки.

In[2]:=
Click for copyable input
dates = Map[file \[Function] Import[file, "DateTime"], files];
In[3]:=
Click for copyable input
DateHistogram[dates, Quantity[1, "Hours"]]
Out[3]=

Рассмотрим коллаж миниатюр.

In[4]:=
Click for copyable input
thumbnails = ExampleData[{"TestImageSet", "Lisbon2016"}, "ThumbnailList"];
In[5]:=
Click for copyable input
ImageCollage[thumbnails, Method -> "Columns", ImagePadding -> 2]
Out[5]=

Представим фотографии на временной шкале.

In[6]:=
Click for copyable input
TimelinePlot[MapThread[Labeled, {dates, thumbnails}], PlotLayout -> "Vertical", ImageSize -> Medium]
Out[6]=

Объеденим все данные.

In[7]:=
Click for copyable input
gps = Map[file \[Function] Import[file, "GeoPosition"], files];
In[8]:=
Click for copyable input
ds = Dataset[ MapThread[ AssociationThread[{"Thumbnail", "DateTime", "GeoPosition"} -> {##}] &, {thumbnails, dates, gps}]]
Out[8]=

Обозначим места, где были сделаны изображения, на карте.

In[9]:=
Click for copyable input
GeoGraphics[ MapThread[ GeoMarker, {Normal[ds[All, "GeoPosition"]], Normal[ds[All, "Thumbnail"]]}], ImageSize -> Medium]
Out[9]=

Родственные примеры

de en es fr ja ko pt-br zh