Считайте с чередованием строк данные из двоичного файла
X = multibandread (имя файла, размер, точность, смещение, чередование, 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.
Аргумент | Описание |
|---|---|
| Вектор символа или скаляр строки, содержащий имя файла, который будет считан. |
| Трехэлементный вектор целых чисел, состоящих из
Это будет размерностями данных, если это будет считано в целом. |
| Вектор символа или скаляр строки определение формата данных, которые будут считаны, такие как Примечание: Можно также использовать параметр |
| Скаляр, задающий основанное на нуле местоположение первого элемента данных в файле. Это значение представляет количество байтов с начала файла туда, где данные начинаются. |
| Формат, в котором данные сохранен, задал как одно из этих значений:
Для получения дополнительной информации об этих методах чередования, смотрите страницу с описанием |
| Вектор символа или скаляр строки определение порядка байтов (формат машины), в котором данные сохранен, такой как
Смотрите |
Можно задать до трех параметров подмножества. Каждый параметр подмножества является трехэлементным массивом ячеек, , где{dim,method,index}
Параметр | Описание |
|---|---|
| Размерность к подмножеству вперед. Заданный как любое из этих значений:
|
| Метод подмножества. Заданный как любое из этих значений:
Если вы не учитываете этот элемент массива ячеек подмножества, |
| Если Если |
Параметры начальной буквы 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 данные БИЛА из 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