How to extract multispectral data using hypercube in matlab?

Now I am using hypercube function as follows
img = hypercube(img_file.name);
red = img(:,:,2); % red band
rededge1 = img(:,:,3); % rededge1 band
rededge2 = img(:,:,4); % rededge2 band
rededge3 = img(:,:,5); % rededge3 band
nir = img(:,:,6); % near infrared band
it still gives following errors.
>> ds_indices_caf
img_path = 'C:\Data\'
20240129_MAWANA_SUBSET.img
hypercube with properties:
DataCube: "[3915x3677x7 uint16]"
Wavelength: [7×1 double]
Metadata: [1×1 struct]
Index in position 3 exceeds array bounds. Index must not exceed 1.
Error in ds_indices_caf (line 25)
red = img(:,:,2); % red band
I would really appreciate the kind cooperation in helping me out to fix this error.
Dave

 Akzeptierte Antwort

Manasa Singam
Manasa Singam am 27 Mär. 2024

0 Stimmen

Here the variable "img" is hypercube object. The data is present in DataCube property.
Access the data using this command: red = img.DataCube(:,:,2);

Weitere Antworten (0)

Produkte

Version

R2024a

Community Treasure Hunt

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

Start Hunting!

Translated by