我已经写了一个matlab代码,它将加载一个文本文件中的矩阵,然后我想将其显示为图像。文本文件以随机的方式包含从0到2的整数,我想用不同的颜色来表示每个数字,例如0用白色,1用某种颜色,2用不同的颜色。我将提供下面的matlab代码:
clc;
clear all;
for i=1:10
k=num2str(i);
f = strcat('test_file_num_',k,'.txt');
a{i} = fileread(f);
[m,n] = size(a{i});
a{i} = reshape(a{i},12,10);
a{i} = a{i}';
a{i} = a{i}(:,1:10);
end文件夹中有10个文本文件,每个文件包含一个随机矩阵,其中包含整数0到2,每个文本文件的名称以"test_file_num_“开头,在{i}中,我的矩阵是10x10矩阵。现在我想把{i}矩阵表示为图像或图形或任何东西,但要有一些东西,可以用不同的颜色显示矩阵的内容。谢谢你的帮助。
发布于 2013-01-16 07:16:54
在此之后,您可以使用imagesc生成图像。要指定颜色,可以使用colormap函数更改色彩映射表。所以你的代码应该是这样的:
% Example data
A = floor(3*rand(10));
% Change colormap with just 3 colors (Red,Green,Blue)
cmap = [1 0 0;0 1 0;0 0 1];
figure; imagesc(A); colormap(cmap); colorbar;希望这能有所帮助!
发布于 2013-01-16 06:08:46
您正在寻找imagesc函数。
但是你需要在之前使用str2num,因为你是以字符的形式读取你的数字。
即:
imagesc(str2num(a{i});如果你想直接以数字的形式读取文件,你应该这样做:
fid = fopen(f);
a{i} = fscanf(fid,'%u',inf);
fclose(fid);https://stackoverflow.com/questions/14347792
复制相似问题