【问题标题】:How do I change the size of displayed images in a figure?如何更改图中显示图像的大小?
【发布时间】:2021-07-18 14:19:27
【问题描述】:

我想在一个图中总共显示 50(或 25)张图像,但结果是它们看起来很小。
请问如何更改它们的尺寸?

这是我用于显示图像的代码:

for i = 1:50
    subplot(10,5,i);
    imshow(imread(fullfile('C:pathName',meanValues(i).baseFileName)));
end

以下是它们的外观示例:

【问题讨论】:

  • 这是我用来显示它们的代码:for i = 1:50 subplot(10,5,i); imshow(imread(fullfile('C:pathName',meanValues(i).baseFileName)));结束
  • 请点击您的问题下方的edit 并将您的所有代码放在人们希望找到它的地方......而不是强迫他们阅读大量未格式化的cmets。谢谢。
  • 我认为这个问题的一个很好的答案是this SO thread:
  • @Mark,抱歉。他们在我之前编辑了它。

标签: image matlab image-processing matlab-figure figure


【解决方案1】:

试试这个

figure;
for x=1:5
  for y=1:10
    axes('position', [(x-1)*0.2, (y-1)*0.1, 0.2, 0.1] );
  end
end

如果布局有效,请插入以下两行

    imshow(imread(fullfile('C:pathName',meanValues(y*5+x).baseFileName)));
    axis off;

上面的轴下方命令。

【讨论】:

  • 嘿@FangQ 谢谢你的回答。我厌倦了你的建议,但它不起作用(图像根本没有出现),这是预期的,因为在这种情况下,我们没有调用 50 张图像,在我的代码中,“i”代表图像。
  • 第一个代码块只是向您显示坐标区的布局,您必须将两行 imshow 代码插入到内部循环中,在坐标轴命令下,以显示您的图像。我转换了我的 x/y 指数来计算你的 i 值。如果它没有读取您的文件,请检查文件索引。
【解决方案2】:

我不确定,但请尝试

for i = 1:50
    t = subplot(10,5,i);
    imshow(imread(fullfile('C:pathName',meanValues(i).baseFileName)));
end
t.TileSpacing = 'compact'
t.Padding = 'compact'

【讨论】:

  • 我试过了,但它给了我一个错误:类'matlab.graphics.axis.Axes'的无法识别的属性'TileSpacing'。示例中的错误(第 223 行)t.TileSpacing = 'compact';
猜你喜欢
  • 1970-01-01
  • 2014-10-31
  • 2021-12-16
  • 2023-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-02
  • 1970-01-01
相关资源
最近更新 更多