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

18 次查看(过去 30 天)
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'

回答(1 个)

Tejaswini Veduruvada
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]);

类别

Help CenterFile Exchange 中查找有关 Denoising and Compression 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by