首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >matlab中的矩阵图像

matlab中的矩阵图像
EN

Stack Overflow用户
提问于 2013-01-16 06:06:10
回答 2查看 759关注 0票数 0

我已经写了一个matlab代码,它将加载一个文本文件中的矩阵,然后我想将其显示为图像。文本文件以随机的方式包含从0到2的整数,我想用不同的颜色来表示每个数字,例如0用白色,1用某种颜色,2用不同的颜色。我将提供下面的matlab代码:

代码语言:javascript
复制
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}矩阵表示为图像或图形或任何东西,但要有一些东西,可以用不同的颜色显示矩阵的内容。谢谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-16 07:16:54

在此之后,您可以使用imagesc生成图像。要指定颜色,可以使用colormap函数更改色彩映射表。所以你的代码应该是这样的:

代码语言:javascript
复制
% 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;

希望这能有所帮助!

票数 0
EN

Stack Overflow用户

发布于 2013-01-16 06:08:46

您正在寻找imagesc函数。

但是你需要在之前使用str2num,因为你是以字符的形式读取你的数字。

即:

代码语言:javascript
复制
imagesc(str2num(a{i});

如果你想直接以数字的形式读取文件,你应该这样做:

代码语言:javascript
复制
fid = fopen(f);
a{i} = fscanf(fid,'%u',inf);
fclose(fid);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14347792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档