Converting .tif file into an .ascii file
조회 수: 21 (최근 30일)
이전 댓글 표시
I have a .tif file that i would like to convert to .ascii . Or a way to be able to convert the .tif file into a numerical matrix where i can convert some values to NaN. I have tried:
Trial 1:
t = Tiff('File_name.tif','r');
imageData = read(t);
imagesc(imageData)
Trial 2:
A = imread('maxlike34_ica_34minerals_step3_2ppd_mostdominant_tiff.tif');
save('myTiff2mat','A');
In both trials when i run a loop to convert any cells that contain a 0 to NaN then none of them change and they all remain as 0, and the .mat files have the dimensions and uint8 which is unlike any data file that i import using .ascii files.
댓글 수: 4
답변 (1개)
Deepak
2024년 11월 5일 8:09
As I understand it, you are attempting to convert a “.tif” image file into a numerical matrix in MATLAB, with the goal of replacing all zero values in matrix with NaN.
To achieve this, we can first read the image using “imread” function in MATLAB to load it into a matrix. Next, we can convert the matrix from its default integer type (uint8) to a floating-point type like “double”, as only floating-point types can represent NaN. Once converted, we can use logical indexing to replace all zero values with NaN. Finally, we can use “dlmwrite” to save the matrix to a text file to convert it to ASCII format.
Here is the MATLAB code to accomplish the same:
imageData = imread('File_name.tif');
% Convert the matrix to double to allow NaN values
imageData = double(imageData);
% Replace zeros with NaN
imageData(imageData == 0) = NaN;
% Save the matrix as an ASCII file
dlmwrite('output_matrix.txt', imageData, 'delimiter', ' ');
save('myTiff2mat.mat', 'imageData');
Please find attached the documentation of functions used for reference:
I hope this helps in resolving the issue.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Data Type Conversion에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!