Блоки процесса блокированного изображения
Создайте блокированное изображение.
bim = blockedImage("tumor_091R.tif");Создайте фильтр сглаживания и примените его к блокам в блокированном изображении.
smoothing = 2000;
imguidedfilter работает с окружением по умолчанию 5 пикселей. Добавьте границу во вход, чтобы считать дополнительные данные. Это краевые элементы изображения автоматически обрезаются от выхода, поскольку он одного размера с входом.
benh= apply(bim,... @(bs)imguidedfilter(bs.Data,bs.Data,"DegreeOfSmoothing", smoothing),... "BorderSize", [5 5]);
Отобразите оригинальное изображение и улучшенное изображение.
ha1 = subplot(1,2,1);
bigimageshow(bim,"ResolutionLevel",1);
ha2 = subplot(1,2,2);
bigimageshow(benh);
linkaxes([ha1, ha2]);
xlim([2100, 2600])
ylim([1800 2300])
Создайте блокированное изображение.
bim = blockedImage("tumor_091R.tif");Создайте маску на самом грубом уровне и отобразите его.
bmask = apply(bim, @(bs)rgb2gray(bs.Data)<80, "Level",3);
figure
bigimageshow(bmask)Используйте маску, чтобы ограничить области, обработанные вызовом apply объектная функция.
bls = selectBlockLocations(bim, "Mask", bmask,"InclusionThreshold", 0.005); benh = apply(bim, @(bs)imguidedfilter(bs.Data,bs.Data,"DegreeOfSmoothing", 2000),... "BorderSize", [5 5],... "BlockLocationSet", bls);
Отобразите оригинальное изображение и улучшенное изображение.
figure
ha1 = subplot(1,2,1);
bigimageshow(bim,"ResolutionLevel",1);
ha2 = subplot(1,2,2);
bigimageshow(benh);
linkaxes([ha1, ha2]); 

Создайте установленное на файл из всех изображений JPEG в демонстрационной папке тулбокса изображений.
fs = matlab.io.datastore.FileSet(... fullfile(matlabroot,'toolbox','images','imdata'),... "FileExtensions", {'.jpg'});
Создайте массив блокированных изображений от установленного на файл.
bims = blockedImage(fs);
Преобразуйте изображения в бинарные изображения.
outputFolder = tempname; outputAdapter = images.blocked.GenericImage; outputAdapter.Format = 'jpg'; bos = apply(bims, @(bs)imbinarize(im2gray(bs.Data)), ... "OutputLocation", outputFolder,... "Adapter", outputAdapter);
Чтобы смотреть результаты, используйте Image Browser, чтобы просмотреть содержимое выходной папки: imageBrowser(outputFolder);
bim — Блокированное изображениеblockedImage объектБлокированное изображение в виде blockedImage объект.
bims — Массив блокированных изображенийblockedImage objectArrayМассив блокированных изображений в виде blockedImage objectArray.
fcn — Обработка функцииОбработка функции в виде указателя на функцию. Для получения дополнительной информации см. Создание указателя на функцию. Функция обработки fcn должен принять bstruct как введено. Чтобы передать дополнительные аргументы, задайте fcn как анонимная функция. Для получения дополнительной информации см. Анонимные функции.
bstruct struct с этими полями:
| Поле | Описание |
|---|---|
Data | Блок данных от bim |
Start | Индексы первого элемента в блоке. Если BorderSize задан, этот индекс может выйти за пределы для блоков ребра. |
End | Индексы последнего элемента в блоке. Если BorderSize задан, этот индекс может выйти за пределы для блоков ребра. |
Blocksub | Блокируйте индексы текущего блока |
BorderSize | Значение параметра BorderSize. |
BlockSize | Значение BlockSize параметр. Примечание: size(data) может быть меньше этого значения для блоков границы когда PadPartialValue является ложным. |
BatchSize | Значение BatchSize параметр |
ImageNumber | Индексируйте в bim массив для текущего изображения. |
Level | Уровень разрешения, из которого считываются данные. |
Функциональный fcn обычно возвращает результаты для одного блока. Результаты могут быть числовыми, struct, или categorical.
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
bmask = apply(bim,@(bs)rgb2gray(bs.Data)<80, "Level",3);'Adapter' — Адаптер используется для записи выходаdestination значение (значение по умолчанию) | адаптер разделяется на подклассы от images.blocked.AdapterАдаптер использовал для записи выхода в виде адаптера, который разделяется на подклассы от theimages.blocked.Adapter класс. Эти классы адаптера реализуют все методы, требуемые интерфейсом. Чтобы задать различные адаптеры для различных выходных параметров, используйте массив ячеек. Скалярные значения расширены.
Эта таблица приводит адаптеры, включенные с тулбоксом.
| Адаптер | Описание |
|---|---|
images.blocked.BINBlocks | Сохраните каждый блок как бинарный файл блоба в папке. |
images.blocked.GenericImage | Сохраните блоки в одном изображении. |
images.blocked.GenericImageBlocks | Сохраните каждый блок как файл изображения в папке |
images.blocked.H5 | Сохраните блоки в одном изображении HDF5 |
images.blocked.H5Blocks | Сохраните каждый блок как файл HDF5 в папке |
images.blocked.InMemory | Сохраните блоки в переменной в оперативной памяти |
images.blocked.JPEGBlocks | Сохраните каждый блок как файл JPEG в папке |
images.blocked.MATBlocks | Сохраните каждый блок как файл MAT в папке. |
images.blocked.PNGBlocks | Сохраните каждый блок как файл PNG в папке. |
images.blocked.TIFF | Сохраните блоки в одном файле TIFF. |
Необходимо задать значение для 'OutputLocation' свойство для всех адаптеров кроме images.blocked.InMemory. Если вы не задаете значение для OutputLocation параметр, запишите использованию images.blocked.InMemory как адаптер по умолчанию. В противном случае адаптером по умолчанию является images.blocked.BINBlocks для числовых и логических данных и images.blocked.MATBlocks для struct и категориальные данные.
'BatchSize' — Количество блоков предоставляется fcn (значение по умолчанию) | числовой скалярКоличество блоков, предоставленных обработке, функционирует fcn в каждом пакете в виде числового скаляра. BatchSize последняя размерность входа к fcn. Все выходные параметры fcn должен иметь последнюю размерность совпасть с BatchSize. BatchSize больше, чем 1 полезно, чтобы оптимально загрузить графические процессоры при применении вызовов вывода глубокого обучения. Когда BatchSize больше 1, PadPartialBlocks должен быть true.
'BlockLocationSet' — Набор блоков к процессуBlockSize- размерные блоки (значение по умолчанию) | скалярный blockLocationSet объектНабор блоков к процессу в виде скалярного blockLocationSet объект. ImageNumber свойство индексирует в bims массив. Определение блоков к процессу может повысить эффективность путем ограничения количества обработанных блоков. Например, используйте selectBlockLocations с маской, чтобы ограничить применение обработки функционируют в определенные области. Содержавшие блоки должны быть на обычной сетке.
'BlockSize' — Размер блокаBlockSize свойство блокированного изображения (значение по умолчанию) | вектор с целочисленным знакомРазмер блока в виде вектора с целочисленным знаком из длины равняется NumDimensions свойство bim. Задает размер блока, предоставленного как вход fcn. Если BlockSize содержит меньше элементов, apply возразите, что функция заполняет недостающие размерности элементами от Size свойство.
'BorderSize' — Ограничьте размер (значение по умолчанию) | вектор с целочисленным знакомОграничьте размер в виде вектора с целочисленным знаком из длины, равной NumDimensions свойство bim. Задает дополнительные данные из соседней области, которая будет включена в блок. Для блоков ребра, apply возразите, что функция использует 'PadMethod'. Если BorderSize содержит меньше элементов, apply возразите, что функция заполняет границу с 0s.
'DisplayWaitbar' — Отобразитесь ожидают панельtrue (значение по умолчанию) | falseОтобразитесь ожидают панель в виде логического скаляра. Когда установлено в true, apply возразите, что функция отображает панель ожидания для продолжительных операций. Если вы отменяете панель ожидания, apply объектная функция возвращает частичный выходной параметр при наличии.
Типы данных: логический
'ExtraImages' — Дополнительные входные параметры к fcnblockedImage объектыДополнительные входные параметры к fcnВ виде массива blockedImage объекты. Блоки из этого массива предоставляются fcn как дополнительные входные параметры после bstruct: __ = fcn(bstruct, extrablock1,...). Применять объектная функция извлекает эти блоки из того же региона мира как основной блок из bim, представленный в bstruct.
'ExtraLevels' — Уровень разрешенияУровень разрешения в виде вектора из целочисленных значений той же длины как 'ExtraImages'. Это значение задает уровень мультиразрешения, чтобы использовать от соответствующего blockedImage в ExtraImages.
'Level' — Уровень разрешения, чтобы использовать (значение по умолчанию) | целочисленный скалярУровень разрешения, чтобы использовать в виде целочисленного скаляра. Для мультиразрешения blockedImage это значение определяет уровень разрешения, чтобы использовать, чтобы получить блоки для обработки.
'OutputLocation' — Местоположение выходной папкиchar вектор | string скалярМестоположение выходной папки в виде string скаляр или char вектор. Если существует один выход, apply возразите, что функция пишет его непосредственно в это местоположение. Для нескольких выходных параметров, apply объектная функция создает подпапки формата output<N>/ для N 'th выход. Если вход является массивом, apply объектная функция выводит выходное имя из Source свойство соответствующего элемента. Если вход в оперативной памяти, apply возразите, что функция использует числовой индекс. Когда свойством UseParallel является true, OutputLocation должен быть допустимый путь на клиентском сеансе. Используйте свойство AlternateFileSystemRoots входа задать необходимое отображение для сеансов рабочего. Все выходные параметры наследовали это значение.
'PadMethod' — Заполните метод'replicate' (значение по умолчанию) | числовой скаляр | string скаляр | char векторЗаполните метод неполных блоков ребра в виде одного из этих значений. Метод задает, как получить дополнительные пиксели, чтобы соблюдать 'BorderSize' или 'PadPartialBlocks' параметры.
Значение | Значение |
|---|---|
числовой скаляр | Заполните числовой массив элементами постоянного значения типа, заданного |
| Клавиатура путем повторения элементов границы массива. |
'PadPartialBlocks' — Заполните частичные блокиfalse (значение по умолчанию) | trueЗаполните частичные блоки в виде логического скаляра. Задает, должны ли частичные блоки, которые могут существовать на ребрах, быть увеличены к заданному размеру блока. Применять объектная функция использует метод, заданный в PadMethod выполнять дополнительную операцию.
Когда BatchSize больше 1, установите PadPartialBlocks к true
Типы данных: логический
'Resume' — Продолжите обрабатывать от где предыдущий остановленный запускfalse (значение по умолчанию) | trueПродолжите обрабатывать от где предыдущий запуск, остановленный в виде логического скаляра. Если true, и заданный 'OutputLocation' имеет содержимое от предыдущего запуска, текущий запуск продолжит обрабатывать от где предыдущий остановленный запуск. Эта поддержка зависит от используемого выходного адаптера (см. images.blocked.Adapter для большего количества детали). Если false, apply объектная функция удаляет предыдущее содержимое.
'UseParallel' — Используйте параллельную обработкуfalse (значение по умолчанию) | trueИспользуйте параллельную обработку в виде логического скаляра. Определяет, должен ли новый или существующий параллельный пул использоваться. Если никакой параллельный пул не активен, новый пул открыт на основе параллельных настроек по умолчанию. Все адаптеры, заданные свойством Adapter, должны реализовать openInParallelToAppend метод (См. images.blocked.Adapter). Допустимый OutputLocation должен быть задан. Этот синтаксис требует Parallel Computing Toolbox.
Типы данных: логический
bres — Новое блокированное ИзображениеblockedImage объектНовое блокированное изображение, возвращенное как blockedImage объект.
apply объектная функция определяет выходной размер путем обработки первого блока. Если обработка первого блока дает к выходному блоку одного размера с входом, затем размер окончательного результата собирается совпадать с входом. В противном случае последний блок обрабатывается, чтобы определить размер окончательного результата. Первый блок не должен быть частичным блоком.
apply возразите, что функция устанавливает InitialValue свойство выхода на основе типа выхода:
Числовые или логические выходные параметры – InitialValue установлен в 0.
Категориальные выходные параметры – InitialValue установлен в <undefined> значение соответствующего типа.
struct выходные параметры InitialValue выведен из выхода первого блока. Все поля собираются опустеть.
blockedImage | images.blocked.Adapter | selectBlockLocations
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.