Запишите блокированные данные изображения новому месту назначения
write(
пишут блокированные данные изображения bim
,destination
)bim
к местоположению, заданному destination
.
write(
задает дополнительные опции для записи блокированных данных изображения с помощью аргументов name-value.bim
,destination
,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
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
"Levels",[1 3]
Adapter
— Адаптер используется для записи блокированных данных изображенияАдаптер используется для записи блокированных данных изображения в виде объекта адаптера.
Адаптер | Описание |
---|---|
BINBlocks | Сохраните каждый блок как двоичный файл в папке |
GenericImage
| Сохраните блоки в одном изображении |
GenericImageBlocks | Сохраните каждый блок как файл изображения в папке |
H5 | Сохраните блоки в одном изображении HDF5 |
H5Blocks | Сохраните каждый блок как файл HDF5 в папке |
InMemory | Сохраните блоки в переменной в оперативной памяти |
JPEGBlocks | Сохраните каждый блок как файл JPEG в папке |
MATBlocks | Сохраните каждый блок как файл MAT в папке |
PNGBlocks | Сохраните каждый блок как файл PNG в папке |
TIFF | Сохраните блоки в одном файле TIFF |
Можно также задать пользовательский адаптер, который выполняет пользовательские операции записи. Для получения дополнительной информации смотрите images.blocked.Adapter
.
Необходимо задать значение для 'OutputLocation'
свойство для всех адаптеров кроме InMemory
. Если вы не задаете значение для OutputLocation
параметр, write
использование InMemory
как адаптер по умолчанию. В противном случае адаптером по умолчанию является BINBlocks
для числовых и логических данных и MATBlocks
для struct
и категориальные данные.
BlockSize
— Выведите размер блокаВыведите размер блока в виде 1 D вектором из положительных целых чисел, где D является значением NumDimensions
свойство блокированного изображения bim
. Размер блока по умолчанию равен BlockSize
свойство bim
.
DisplayWaitbar
— Отобразитесь ожидают панельtrue
(значение по умолчанию) |
false
Отобразитесь ожидают панель в виде true
или false
. Когда установлено в true
, write
возразите, что функция отображает панель ожидания для продолжительных операций. Если вы отменяете панель ожидания, write
функция возвращает частичный выходной параметр при наличии.
LevelImages
— Дополнительные одноуровневые блокированные изображенияblockedImage
объектыДополнительные одноуровневые блокированные изображения в виде вектора из одноуровневого blockedImage
объекты. write
функция добавляет их дополнительное одноуровневое блокированное изображение к заданному блокированному изображению (bim
) создать мультиразрешение блокировало изображение. Одноуровневые блокированные изображения должны иметь тот же NumDimensions
значение свойства как bim
.
Levels
— Уровни мультиразрешения блокировали изображение, чтобы записать[]
(значение по умолчанию) | вектор из положительных целых чиселУровни мультиразрешения блокировали изображение, чтобы записать в виде вектора из положительных целых чисел. Используйте этот аргумент, чтобы выборочно записать заданные уровни блокированного изображения месту назначения.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.