Наконец-то успел вернуться к этому.Проблема была из-за осей.Когда используется что-то вроде 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
исправляет его.