2

私は機械学習アルゴリズムをトレーニングしており、時間の経過に伴う重みの外観を視覚化する 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 で発生します。

助言がありますか?

-ブライアン

4

1 に答える 1

3

最後に、これに戻る時間がありました。問題は軸によるものでした。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すると直ります。

于 2011-05-05T08:26:37.187 に答える