Javascript must be enabled in your browser to use this page.
Please enable Javascript under your Tools menu in your browser.
Once javascript is enabled Click here to go back to �нтеллектуальная Кобринщина

Create a Folder of Thumbnail Images - Wolfram Mathematica

Создание графических миниатюр (пиктограмм)

Очень распространенной задачей пакетной обработки является уменьшение размеров набора изображений, находящихся в одной или нескольких системных папках, то есть по существу, создание набора графических миниатюр (пиктограмм). Функции Mathematica для операций с файлами Import, Export и  Thumbnail могут сочетаться, предоставляя Вам эффективный способ выполнить эту задачу программно. Более того, функции Import и Export являются неотъемлемой составляющей большинства процессов пакетной обработки.

Для начала, извлечем список всех файлов изображений в заданной области. Данный программный код находит все изображения в папке Mathematica ExampleData, и возвращает полный путь к каждому файлу:

In[1]:=

CreateAFolderOfThumbnailImagesRU_1.gif

Применим функцию FileNameTake, чтобы увидеть только названия файлов, без указания полного пути:

In[2]:=

CreateAFolderOfThumbnailImagesRU_2.gif

Out[2]=

CreateAFolderOfThumbnailImagesRU_3.gif

Теперь можно создать графическую миниатюру из каждого изображения и сохранить их всех в отдельной папке. Приводимая ниже команда создает новую папку прямо из Mathematica. Д анный синтаксис функции CreateDirectory создает папку в области, используемой Вашей системой по умолчанию для временных файлов:

In[4]:=

CreateAFolderOfThumbnailImagesRU_4.gif

Изменим текущую рабочую папку на только что созданную новую временную папку:

In[10]:=

CreateAFolderOfThumbnailImagesRU_5.gif

Импортируем одно из изображений:

In[3]:=

CreateAFolderOfThumbnailImagesRU_6.gif

Воспользуемся функцией Thumbnail с параметром Tiny для создания из исходного изображения графической миниатюры очень малого размера:

In[4]:=

CreateAFolderOfThumbnailImagesRU_7.gif

Out[4]=

CreateAFolderOfThumbnailImagesRU_8.gif

Сохраним полученную миниатюру с помощью функции Export. Вы должны указать имя файла, под которым он будет сохранен, само экспортируемое изображение ( th в данном случае) и формат файла:

In[5]:=

CreateAFolderOfThumbnailImagesRU_9.gif

Out[5]=

CreateAFolderOfThumbnailImagesRU_10.gif

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

In[4]:=

CreateAFolderOfThumbnailImagesRU_11.gif

Out[4]=

CreateAFolderOfThumbnailImagesRU_12.gif

Воспользуемся функцией FileByteCount для определения размера каждой графической миниатюры в байтах:

In[5]:=

CreateAFolderOfThumbnailImagesRU_13.gif

Out[5]=

CreateAFolderOfThumbnailImagesRU_14.gif

Для сравнения выведем размер исходных изображений:

In[6]:=

CreateAFolderOfThumbnailImagesRU_15.gif

Out[6]=

CreateAFolderOfThumbnailImagesRU_16.gif

Проимпортируем все сохраненные миниатюры:

In[7]:=

CreateAFolderOfThumbnailImagesRU_17.gif

Out[7]=

CreateAFolderOfThumbnailImagesRU_18.gif