I have a set of text files consisting of depth values named '00.txt', '01.txt', '02.txt' etc, and I have imported them as shown below:
Images=dir(fullfile('folder1\folder2\','*.txt'));
ImageD = fullfile({Images.folder},{Images.name});
for i = 1:numel(ImageD)
dataImage(:,:,i)=importdata(ImageD{i}).data;
end
Now I would like to image only one of the files. How can I do that?

2 commentaires

DGM
DGM le 9 Fév 2022
What do you mean "image a text file"? Are you trying to graph it?
Dinos Layiotis
Dinos Layiotis le 10 Fév 2022
Yes plot the surface of '00.txt' for example.

Connectez-vous pour commenter.

 Réponse acceptée

You could use imagesc or imshow(___,[]) as follows:
dataImage = randi(1000,100,100,5); % example data you could have for dataImage
imagesc(dataImage(:,:,1))
Note, dataImage doesnt have the typical scale that an image does, which I expect is the case for you.
figure(), imshow(dataImage(:,:,1),[])

1 commentaire

Turlough Hughes
Turlough Hughes le 10 Fév 2022
Modifié(e) : Turlough Hughes le 10 Fév 2022
If it's a suface plot that you're looking for then you can use:
surf(dataImage(:,:,i))
To do a surface plot of each one (one figure each), you can write:
for ii = 1:size(dataImage,3)
figure()
surf(dataImage(:,:,ii))
end
Or you might prefer to use a tiledlayout:
N = size(dataImage,3);
m = ceil(N/3);
figure(), tiledlayout(m,ceil(N/m))
for ii = 1:size(dataImage,3)
nexttile
surf(dataImage(:,:,ii))
end

Connectez-vous pour commenter.

Plus de réponses (1)

yanqi liu
yanqi liu le 10 Fév 2022
Images=dir(fullfile('folder1\folder2\','*.txt'));
ImageD = fullfile({Images.folder},{Images.name});
for i = 1:numel(ImageD)
dataImage(:,:,i)=importdata(ImageD{i}).data;
end
for i = 1 : size(dataImage, 3)
figure; imshow(mat2gray(dataImage(:,:,i)));
end

Catégories

En savoir plus sur Convert Image Type dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by