Папка процесса Images Using приложение Image Batch Processor

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

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

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

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

Откройте приложение Image Batch Processor от панели инструментов MATLAB®. На вкладке Apps, в разделе Image Processing и Computer Vision, нажимают Image Batch Processor.

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

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

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

Задайте имя функции, которое вы хотите использовать, чтобы обработать изображения в папке. Чтобы задать существующую функцию, введите имя в Имени функции, окружают раздел Batch Function панели инструментов приложения. Можно также кликнуть по значку папки рядом с полем, чтобы просмотреть и выбрать функцию. Чтобы создать новую функцию пакетной обработки данных, нажмите New в разделе Batch Function панели инструментов приложения. Когда вы делаете это, приложение открывает шаблон функции пакетной обработки данных в Редакторе MATLAB®. В данном примере нажмите New, чтобы создать новую функцию.

В шаблоне функции пакетной обработки данных введите код для новой функции в пробел, зарезервированный в файле шаблона, и нажмите 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;
end

Сохраните файл. После сохранения, отображения приложения имя этой новой функции в поле Имени функции на панели инструментов приложения.

Изображения процесса Используя функцию пакетной обработки данных

Протестируйте новую функцию путем выполнения пакетного процессора на одном из изображений. С одним выбранным изображением (подсвеченный в синем), нажмите Process Selected, чтобы обработать выбранное изображение. Отображения приложения результаты обработки в новой вкладке под названием Результаты. В данном примере отображения приложения бинарная маска, количество количества объектов (ячейки) в изображении и пороговая версия изображения.

Чтобы получить более близкое представление результатов изображений, нажмите Show для того конкретного результата во вкладке Results. Приложение, открытое большая версия разрешения изображения в новой вкладке в центральной нижней частью панели. В данном примере просмотрите бинарные результаты маски нажатие по Show for bw во вкладке Results. Чтобы исследовать результаты, переместите курсор через изображение, чтобы получить доступ к панорамированию и средствам управления изменением масштаба. При изменении масштаба и панорамировании, приложение соединяет изображение результата с оригинальным изображением — панорамирование или изменение масштаба на одном изображении заставляют другое изображение перемещаться также. Если вы не хотите это поведение, очистите Оси Ссылки в панели инструментов приложения.

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

Процессы приложения все изображения в заданной папке. Заполненный - в зеленом квадрате рядом с миниатюрой указывает, что приложение успешно обработало то изображение. Вкладка Results содержит результаты выбранного изображения (подсвеченный в синем). Строка состояния в правом нижнем углу приложения сообщает относительно количества обработанных изображений.

Экспортируйте обработанные изображения и конвейер обработки

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

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

По умолчанию приложение возвращает результаты, которые вы выбираете в таблице под названием allresults. Чтобы сохранить результаты в структуре вместо таблицы, выберите Struct Array в Выбрать разделе формата диалогового окна. Чтобы задать другое имя для переменной результата, поменяйте Имя переменной в диалоговом окне. Если вы выбираете имя файла образа входа Include, приложение включает имя изображения, сопоставленного результатами в структуре или таблице. После определения деталей экспорта нажать ОК.

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