Пакетная обработка данных Используя Image Batch Processor App

Этот пример показывает, как использовать приложение Image Batch Processor, чтобы обработать группу изображений в той же папке. Операция пакетной обработки данных обычно выполняет эти шаги.

Открытый Image Batch Processor App

Эта часть примера показывает, как открыть приложение Image Batch Processor.

От Панели инструментов MATLAB, на вкладке Apps, в группе Обработки изображений и Компьютерного зрения, нажимают Image Batch Processor . Можно также открыть приложение в командной строке с помощью команды imageBatchProcessor. (Если у вас есть Parallel Computing Toolbox™, приложение включает кнопку Use Parallel.)

imageBatchProcessor

Загрузите изображения в Image Batch Processor App

Эта часть примера показывает, как загрузить изображения в приложение Image Batch Processor.

В данном примере создайте новую папку в области, где вы имеете разрешение записи и загружаете набор 10 изображений от папки Image Processing Toolbox™ imdata.

mkdir('cellprocessing');
copyfile(fullfile(matlabroot,'toolbox','images','imdata','AT3*.tif'),'cellprocessing');

Нажмите Load Images и задайте папку, содержащую изображения, которые вы хотите обработать в диалоговом окне Load Images from Folder. В данном примере задайте папку, которую вы создали в первом шаге, cellprocessing, и затем нажмите Load. По умолчанию приложение включает изображения в подпапки. Чтобы изменить это поведение, снимите флажок Include images in subfolders.

Приложение Image Batch Processor создает миниатюры изображений в папке и отображает их в панели с возможностью прокрутки. Отображения приложения первое выбранное изображение в большем разрешении во Входной панели Изображений.

Задайте функцию пакетной обработки данных

Эта часть примера показывает, как задать функцию, которую вы хотите выполнить на всех изображениях.

Задайте имя функции, которое вы хотите использовать, чтобы обработать изображения в папке. Чтобы задать существующую функцию, введите ее имя в поле Function name или кликните по значку папки, чтобы просмотреть и выбрать функцию. Чтобы создать новую функцию пакетной обработки данных, нажмите New. Приложение открывает шаблон функции пакетной обработки данных в редакторе MATLAB. Этот пример создает новое функциональное нажатие кнопки New.

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

function results = myimfcn(im)
%Image Processing Function
%
% IM      - Input image.
% RESULTS - A scalar structure with the processing results.
%

%--------------------------------------------------------------------------
% Auto-generated by imageBatchProcessor App. 
%
% When used by the App, this function will be called for every input image
% file automatically. IM contains the input image as a matrix. RESULTS is a
% scalar structure containing the results of this processing function.
%
%--------------------------------------------------------------------------

imstd = stdfilt(im,ones(27));
bw    = imstd>30;

thresholdMask = imfuse(im, bw);
[~, n] = bwlabel(bw);

results.bw = bw;
results.thresholdMask = thresholdMask;
results.numCells = n;

Когда вы сохранили файл, отображения приложения имя вашей новой функции в поле Function name.

Выполните операцию на изображениях

Эта часть примера показывает, как обработать все изображения в папке (или подмножество изображений) в одной операции.

Запустите пакетный процессор на одном из ваших изображений как тест вашей функции. Может быть полезно испытать вашу функцию пакетной обработки данных на одном из изображений и проверять результаты прежде, чем запустить его на всех изображениях. Когда вы удовлетворены, что функция работает правильно, запустите функцию на всех изображениях в папке. С одним выбранным изображением нажмите Process Selected, чтобы обработать выбранное изображение.

Исследуйте результаты тестового прогона. Отображения приложения результаты обработки в новой вкладке под названием Results. В данном примере отображения приложения бинарная маска, количество количества объектов (ячейки) в изображении и пороговая версия изображения. Чтобы получить более близкое представление результатов изображений, нажмите Show. Приложение, открытое большая версия разрешения изображения в другой вкладке. Можно использовать изменение масштаба и опции панорамирования, чтобы исследовать изображение. При изменении масштаба и панорамировании, приложение соединяет изображение результата с оригинальным изображением — перемещение или изменение масштаба на, каждый заставляет другое изображение перемещаться.

Если результаты тестового прогона успешны, выполните функцию на всех изображениях в вашей входной папке. Кликните по меню дополнительных опций на кнопке Process Selected и выберите Process All. Можно также выбрать повторные изображения к процессу с помощью или Ctrl-Click или Shift-Click. Если у вас есть Parallel Computing Toolbox, можно нажать Use Parallel, чтобы обработать изображения на локальном параллельном пуле.

Процессы приложения все изображения в заданной папке, заполняя квадрат рядом с миниатюрой называют с зеленым. Вкладка Results содержит результаты выбранного изображения.

Получите результаты операции пакетной обработки данных

Эта часть примера показывает, как получить результаты операции пакетной обработки данных

Нажмите Export, чтобы просмотреть доступные опции. Можно экспортировать результаты в рабочую область или в файл, или можно получить код MATLAB, приложение раньше генерировало результаты.

Выберите опцию theExport result of all processed images to workspace, чтобы сохранить результаты в переменной рабочей области. Выберите результаты, вы хотите сохранить, и нажать OK. Общий подход должен сохранить результаты неизображений в рабочую область и сохранить образы, которые следуют из обработки в файлах. Пример сохраняет количество клеток наряду с именем входного файла к переменной numCells рабочей области.

По умолчанию приложение возвращает результаты, которые вы выбираете в таблице под названием allresults. Можно задать другое имя, и можно также принять решение сохранить результаты в структуре вместо этого. Если вы выбираете Include input image file name, приложение включает имя изображения, сопоставленного с результатами.

   numCells                      fileName                   
    ________    _____________________________________________

    7           'C:\cellprocessing\cellimages\AT3_1m4_10.tif'
    7           'C:\cellprocessing\cellimages\AT3_1m4_01.tif'
    7           'C:\cellprocessing\cellimages\AT3_1m4_02.tif'
    7           'C:\cellprocessing\cellimages\AT3_1m4_03.tif'
    7           'C:\cellprocessing\cellimages\AT3_1m4_04.tif'
    7           'C:\cellprocessing\cellimages\AT3_1m4_05.tif'
    6           'C:\cellprocessing\cellimages\AT3_1m4_06.tif'
    7           'C:\cellprocessing\cellimages\AT3_1m4_07.tif'
    9           'C:\cellprocessing\cellimages\AT3_1m4_08.tif'
    7           'C:\cellprocessing\cellimages\AT3_1m4_09.tif'

Выберите опцию the Export result of all processed images to files, чтобы сохранить образы, произведенные пакетной обработкой данных. Выберите формат файла для каждого возвращенного файла и нажмите OK. По умолчанию приложение хранит файлы в той же папке, которую вы задали, когда вы загрузили свои изображения, но можно задать другую папку.

Вот то, на что папка похожа после сохранения результатов в файлах.

06/19/2005  10:06 PM           310,202 AT3_1m4_01.tif
12/12/2015  11:22 AM             3,822 AT3_1m4_01_bw.tif
12/12/2015  11:22 AM           929,544 AT3_1m4_01_thresholdMask.tif
06/19/2005  10:06 PM           310,434 AT3_1m4_02.tif
12/12/2015  11:22 AM             3,840 AT3_1m4_02_bw.tif
12/12/2015  11:22 AM           929,550 AT3_1m4_02_thresholdMask.tif
06/19/2005  10:06 PM           310,314 AT3_1m4_03.tif
12/12/2015  11:22 AM             3,756 AT3_1m4_03_bw.tif
12/12/2015  11:22 AM           929,508 AT3_1m4_03_thresholdMask.tif
06/19/2005  10:06 PM           310,336 AT3_1m4_04.tif
12/12/2015  11:22 AM             3,806 AT3_1m4_04_bw.tif
12/12/2015  11:22 AM           929,512 AT3_1m4_04_thresholdMask.tif
06/19/2005  10:06 PM           310,378 AT3_1m4_05.tif
12/12/2015  11:22 AM             3,744 AT3_1m4_05_bw.tif
12/12/2015  11:22 AM           929,518 AT3_1m4_05_thresholdMask.tif
06/19/2005  10:06 PM           310,342 AT3_1m4_06.tif
12/12/2015  11:22 AM             3,730 AT3_1m4_06_bw.tif
12/12/2015  11:22 AM           929,538 AT3_1m4_06_thresholdMask.tif
06/19/2005  10:06 PM           310,352 AT3_1m4_07.tif
12/12/2015  11:22 AM             3,756 AT3_1m4_07_bw.tif
12/12/2015  11:22 AM           929,532 AT3_1m4_07_thresholdMask.tif
06/19/2005  10:06 PM           310,364 AT3_1m4_08.tif
12/12/2015  11:22 AM             3,746 AT3_1m4_08_bw.tif
12/12/2015  11:22 AM           929,482 AT3_1m4_08_thresholdMask.tif
06/19/2005  10:06 PM           310,266 AT3_1m4_09.tif
12/12/2015  11:22 AM             3,732 AT3_1m4_09_bw.tif
12/12/2015  11:22 AM           929,500 AT3_1m4_09_thresholdMask.tif
06/19/2005  10:06 PM           310,288 AT3_1m4_10.tif
12/12/2015  11:22 AM             3,718 AT3_1m4_10_bw.tif
12/12/2015  11:22 AM           929,504 AT3_1m4_10_thresholdMask.tif

Выберите опцию the Generate function, чтобы получить код MATLAB, приложение раньше обрабатывало ваши файлы. Приложение генерирует функцию, которая принимает входное имя папки и выходное имя папки как входные параметры. По умолчанию функция возвращает таблицу с результатами, но можно выбрать структуру вместо этого. Для результатов изображений можно задать формат файла и хотите ли вы, чтобы функция записала изображение в заданную выходную папку. Чтобы получить код, нажмите OK.