Запись данных в новое место назначения
write( записывает двоичный блок версию bim,destination)blockedImage, bim, в указанную папку, destination. См. images.blocked.BINBlocks для получения дополнительной информации.
write(___, задает дополнительные опции при записи.Name,Value)
Создайте заблокированное изображение и просмотрите значение Size свойство.
bim = blockedImage('cameraman.tif');
disp(bim.Size)256 256
Измените размер заблокированного изображения, используя apply заблокированного изображения функция объекта для вызова imresize.
bsub1 = bim.apply(@(bs)imresize(bs.Data,0.5));
Создайте новый уровень разрешения для изображения.
write(bim, "pyramid2.tif", "LevelImages", bsub1, "BlockSize", [ 32 32]);
Создайте новое, блокированное по мультирезолюции изображение и отобразите Size свойство.
bpyramid = blockedImage("pyramid2.tif");
disp(bpyramid.Size)256 256 128 128
Создайте заблокированное изображение и просмотрите значение Size свойство.
bim = blockedImage('tumor_091R.tif');
disp(bim.Size) 5000 5358 3
1250 1340 3
625 670 3
Запись только двух уровней из трехуровневого изображения. Запись в папку, где каждый блок сохранен в отдельном файле PNG.
write(bim, "lev1_and_3", "Levels", [1 3], "Adapter", images.blocked.PNGBlocks); bim2 = blockedImage("lev1_and_3"); disp(bim2.Size)
5000 5358 3
625 670 3
Смотрите структуру папки выхода, используя приложение Image Browser, или просмотрите монтаж изображений в папках lev1_and_3/L1 и lev1_and_3/L2.
figure; montage(imageDatastore('lev1_and_3/L1'), 'BorderSize', 5);

Просмотр монтажа изображений в папке lev1_and_3/L2.
figure; montage(imageDatastore('lev1_and_3/L2'), 'BorderSize', 5);

Создайте заблокированное изображение.
bim = blockedImage('tumor_091R.tif');Запишите данные с трех уровней разрешения заблокированного изображения в H5 файл. Укажите блокированный адаптер изображений для файлов HDF5 и уровень сжатия при записи данных.
wadapter = images.blocked.H5; wadapter.GZIPLevel = 5; write(bim, "tumor_091.h5", "Adapter", wadapter);
Отображение информации о HDF5 созданном изображении.
h5disp("tumor_091.h5");HDF5 tumor_091.h5
Group '/'
Group '/blockedImage'
Attributes:
'Size': 3x3 H5T_FLOAT
'IOBlockSize': 3x3 H5T_FLOAT
'Datatype': 'uint8', 'uint8', 'uint8'
Dataset 'L1'
Size: 5000x5358x3
MaxSize: 5000x5358x3
Datatype: H5T_STD_U8LE (uint8)
ChunkSize: 1024x1024x3
Filters: deflate(5)
FillValue: 0
Dataset 'L2'
Size: 1250x1340x3
MaxSize: 1250x1340x3
Datatype: H5T_STD_U8LE (uint8)
ChunkSize: 1024x1024x3
Filters: deflate(5)
FillValue: 0
Dataset 'L3'
Size: 625x670x3
MaxSize: 625x670x3
Datatype: H5T_STD_U8LE (uint8)
ChunkSize: 625x670x3
Filters: deflate(5)
FillValue: 0
bim - Заблокированное изображениеblockedImage объектЗаблокированное изображение, заданное как blockedImage объект.
destination - Папка назначенияchar массив | string скалярКонечная папка, заданная как char массив или string скаляр.
Типы данных: char | string
Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.
write(bim,"out1_3","Levels",[1 3],"Adapter",images.blocked.PNGBlocks);'Adapter' - Записать интерфейс для объекта заблокированного изображенияdestination значение (по умолчанию) | адаптера, подклассифицированного из images.blocked.AdapterЗапишите интерфейс для объекта заблокированного изображения, заданный как адаптер, который подклассифицирован из images.blocked.Adapter класс. Классы адаптеров реализуют все методы, необходимые images.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. |
'BlockSize' - Размер выходного блокаBlockSize свойство заблокированного изображения (по умолчанию) | вектор 1 на 2 положительных целых чиселРазмер выходного блока, заданный как целочисленный вектор длины, равной NumDimensions свойство заблокированного изображения bim.
'DisplayWaitbar' - Отобразите панель ожиданияtrue (по умолчанию) |
falseОтобразите полосу ожидания, заданную как логический скаляр. Когда установлено значение true, а write Объект отображает полосу ожидания для длительных операций. Если вы отменяете панель ожидания, write объект возвращает частичный выход, если он доступен.
'LevelImages' - Дополнительные одноуровневые заблокированные изображенияblockedImage объектыДополнительные одноуровневые заблокированные изображения, заданные как вектор одноуровневых blockedImage объекты. The write объект добавляет это дополнительное одноуровневое заблокированное изображение к указанному заблокированному изображению (bim) для создания изображения с блокировкой мультиразрешения. Одноуровневые заблокированные изображения должны иметь одинаковые NumDimensions значение свойства как заданное заблокированное изображение (bim).
'Levels' - Уровни заблокированного мультирезолюции изображения для записи[] (по умолчанию) | вектор одноуровневой blockedImage объектыУровни блокированного при мультирезолюции изображения для записи, заданные как числовой, целочисленный массив. Используйте этот параметр для выборочной записи заданных уровней заблокированного изображения в место назначения.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.