Запись данных в новое место назначения
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.