无法让图像c在Matlab中工作

时间:2013-12-11 15:37:53

标签: matlab image-scaling

请有人请告诉我为什么imagesc没有做我想要的事情:

我试图得到一个字符网格,如:

http://wetans.net/word-search-worksheets-for-kids

以下是代码:

A = [5,16,18,4,9;
    9,10,14,3,18;
    2,7,9,11,21;
    3,7,2,19,22;
    4,9,10,13,8]

AAsChars = char(A + 96);

imagesc(AAsChars);

2 个答案:

答案 0 :(得分:1)

简短的回答是 - 你的工作使用了错误的功能。 imagesc将获取值的映射并将其转换为强度 - 每个值一个像素。你希望它神奇地取一个字符值并将其转换为这个字符的表示(许多像素)(不考虑字体等)。

您可能想要创建一个空背景,然后将文本字符放在所需的位置。像(未经测试)的东西:

figure
imagesc(ones(5,5))
axis off
for t = 1:5
  for k = 1:5
    text(t, k, sprintf('%c', A(t,k) + 96))
  end
end

这应该将字符串(字符)放在位置(i,j)。试验一下 - 不确定我是否有text()的语法和字符串的格式(带有“%c”),并且现在无法检查。

答案 1 :(得分:0)

我认为你过于复杂,这应该只是诀窍:

char(A + 96)