Dimensionality Reduction of Hyperspectral Image

6 次查看(过去 30 天)
I have a hyperspectral dataset with the following dimensions. [21527 776 224]. i tried to read it into matlab using the multibandread function but i ran into memory issues. My code is this: close all; clear all clc
%%Real Dataset Test PRECISION='int16'; OFFSET=0; INTERLEAVE='bip'; BYTEORDER='ieee-be';
FILENAME_REF=('C:\Users\uos\Desktop\GPC\Images\data');
%INFO_HDR=('C:\Users\uos\Desktop\GPC\Images\header1.hdr');
% datafile=('C:\Users\uos\Desktop\GPC\Images\data'); % info=('C:\Users\uos\Desktop\GPC\Images\header.hdr'); % D=envidataread(datafile,info);
SIZE_REF=[21527, 776, 224];
I_REF=multibandread(FILENAME_REF,SIZE_REF,PRECISION,OFFSET,INTERLEAVE,BYTEORDER); the error i get is : Error using zeros Requested 224x776x21527 (27.9GB) array exceeds maximum array size preference. Creation of arrays greater than this limit may take a long time and cause MATLAB to become unresponsive. See array size limit or preference panel for more information.
Error in multibandread>readDiskFile (line 212) im = zeros(outputSize(1), outputSize(2), outputSize(3), info.outputClass);
Error in multibandread (line 148) im = readDiskFile(filename, info, ndx, readOrder); Please can you suggest or direct me towards a solution? many thanks

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Image Processing Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by