Считайте полосно-перемеженные данные из двоичного файла
X = multibandread(filename,size,precision,offset,interleave,byteorder)
X = multibandread(...,subset1,subset2,subset3)
X = multibandread(filename,size,precision,offset,interleave,byteorder) читает разделенный по каналам (BSQ), или данные разделенные по пикселям (BIP) разделенные по строкам (BIL) из двоичного файла filename. filename вход задан как скаляр строки или вектор символов. Эта функция задает полосу как третью размерность в трехмерном массиве, как показано в этом рисунке.

Можно использовать параметры multibandread задавать много аспектов операции чтения, такой как который полосы читать. Смотрите Параметры для получения дополнительной информации.
X 2D массив, если только одна полоса читается; в противном случае это 3-D. X возвращен как массив типа данных double по умолчанию. Используйте precision параметр, чтобы сопоставить данные с другим типом данных.
X = multibandread(...,subset1,subset2,subset3) читает подмножество данных в файле. Можно использовать до трех параметров подмножества, чтобы задать подмножество данных вдоль строки, столбца и размерностей полосы. Смотрите Параметры Подмножества для получения дополнительной информации.
В дополнение к BSQ, БИЛУ и файлам BIP, многополосное формирование изображений может храниться с помощью формата файла TIFF. В этом случае используйте imread функция, чтобы импортировать данные.
Эта таблица описывает аргументы, принятые multibandread.
Аргумент | Описание |
|---|---|
| Вектор символов или скаляр строки, содержащий имя файла, который будет считан. |
| Трехэлементный вектор целых чисел, состоящих из
Это будет размерностями данных, если они будут считаны в целом. |
| Вектор символов или скаляр строки определение формата данных, которые будут считаны, такие как Примечание: можно также использовать |
| Скаляр, задающий основанное на нуле местоположение элемента First Data в файле. Это значение представляет количество байтов с начала файла туда, где данные начинаются. |
| Формат, в котором данные хранятся, заданные как одно из этих значений:
Для получения дополнительной информации об этих методах чередования, смотрите |
| Вектор символов или скаляр строки определение порядка байтов (формат машины), в котором данные хранятся, такой как
Смотрите |
Можно задать до трех параметров подмножества. Каждый параметр подмножества является трехэлементным массивом ячеек, {, гдеdim, method, индексируйте}
Параметр | Описание |
|---|---|
| Размерность к подмножеству вперед. Заданный как любое из этих значений:
|
| Метод подмножества. Заданный как любое из этих значений:
Если вы не учитываете этот элемент массива ячеек подмножества, |
| Если Если |
Параметры начальной буквы Setup для набора данных.
rows=3; cols=3; bands=5; filename = tempname;
Задайте набор данных.
fid = fopen(filename, 'w', 'ieee-le'); fwrite(fid, 1:rows*cols*bands, 'double'); fclose(fid);
Считайте любую полосу данных с помощью формата Разделенного по каналам.
im1 = multibandread(filename, [rows cols bands], ...
'double', 0, 'bsq', 'ieee-le', ...
{'Band', 'Range', [1 2 bands]} )
Считайте первые две строки и столбца данных с помощью формата Разделенного по пикселям.
im2 = multibandread(filename, [rows cols bands], ...
'double', 0, 'bip', 'ieee-le', ...
{'Row', 'Range', [1 2]}, ...
{'Column', 'Range', [1 2]} )
Считайте данные с помощью формата Разделенного по строкам.
im3 = multibandread(filename, [rows cols bands], ...
'double', 0, 'bil', 'ieee-le')
Удалите файл, созданный в этом примере.
delete(filename);
Считайте int16 Данные BIL из tst0012.fits файла FITS, запуск на уровне байта 74880.
im4 = multibandread('tst0012.fits', [31 73 5], ...
'int16', 74880, 'bil', 'ieee-be', ...
{'Band', 'Range', [1 3]} );
im5 = double(im4)/max(max(max(im4)));
imagesc(im5);
fread | fwrite | imread | memmapfile | multibandwrite