Считайте полосно-перемеженные данные из двоичного файла
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