Matlab:使用avifile,addframe,getframe;生成的avi被扭曲

| 我正在训练一种机器学习算法,并且想制作一个avi来可视化重量随时间的变化。我把类似的东西放在一起:
aviobj = avifile( \'weights.avi\' );
for jj = 1:whatever
  % do some training
  imagesc( ... ); % where \'...\' is stuff to reshape the weight matrix
  aviobj = addframe( aviobj, getframe );
end;
aviobj = close( aviobj );
implay( \'weights.avi\' );
问题是,框架最终看起来像这样: 数字不应该具有该方向。我在matlab中生成的任何avi都会发生这种情况。 有什么建议么? -布莱恩     
已邀请:
终于有时间回到这一点。问题出在轴上。当使用
image
imagesc
之类的东西时,它会在图像的底部和左侧附加一条黑色边框。当使用
getframe
时,它仅获取绘制的图像数据,无黑线。但是,帧本身略大于图像数据。 解决方法如下:
aviobj = avifile( \'weights.avi\' );
fig = figure;
for jj = 1:whatever
  % do some training
  imagesc( ... ); % where \'...\' is stuff to reshape the weight matrix
  axis off;
  aviobj = addframe( aviobj, getframe( fig ) );
end;
aviobj = close( aviobj );
implay( \'weights.avi\' );
设定
axis off
即可解决。     

要回复问题请先登录注册