Anyone know how to convert a .tif file with value of 7457x9853x4 uint16 to a square matrix?

35 views (last 30 days)
I have a satellite image which is in tiff format so .tif file and the value is 7457x9853x4 uint16
I need to transform it to a square n x n matrix so I can run SVD on it.
I also want the command line to import such an image without clicking on 'import data'

Answers (1)

Tejaswini Veduruvada
Tejaswini Veduruvada on 24 Mar 2020
To import the .tiff image, use “Tiff” function
A=Tiff(filename);
Image=read(A);
Or use “imread” function
Image=imread(filename);
To convert the image into 2D matrix, you can apply “svd” for individual matrix in that image and use “imresize” to obtain n*n square matrix
Or use “reshape” function, but the number of elements present in the original image is not a perfect square so cannot convert into square matrix. 2D-matrix can be obtained with different rows and columns.
Im_final=reshape(Image,[29828 9853]);

Categories

Find more on Denoising and Compression in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!