У меня есть загрузка данных в 100 файлах .sdf (с надписью 0000.sdf до 0099.sdf), каждая из которых содержит неподвижное изображение, и я пытаюсь создать .gif из этих изображений.Создание gif из изображений
код я использую для построения фигуры являются (в том же каталоге, что и SDF файлов):
q = GetDataSDF('0000.sdf');
imagesc(q.data');
Я попытался написать цикл, что бы сюжет фигуру, а затем сохранить его то же самое имя файла, как SDF файл, но безрезультатно, используя:
for a = 1:100
q=GetDataSDF('0000.sdf');
fh = imagesc(q.dist_fn.x_px.Left.data');
frm = getframe(fh);
% save as png image
saveas(fh, 'current_frame_%02d.jpg');
end
EDIT: Я получил следующие ошибки при попытке запустить этот код:
Error using hg.image/get
The name 'Units' is not an accessible property for an instance of class 'image'.
Error in getframe>Local_getRectanglesOfInterest (line 138)
if ~strcmpi(get(h, 'Units'), 'Pixels')
Error in getframe (line 56)
[offsetRect, absoluteRect, figPos, figOuterPos] = ...
Error in loop_code (line 4)
frm = getframe(fh);
Как сохранить эти файлы с помощью цикла for и как использовать эти файлы для создания фильма?
Вы пробовали 'saveas'? – macduff
Я сделал, но я получил следующие ошибки: Ошибка при использовании hg.image/get Имя «Единицы» не является доступным свойством для экземпляра класса «image». Ошибка в GetFrame> Local_getRectanglesOfInterest (строка 138) , если ~ strcmpi (получить (H, 'единиц), 'пикселей') ошибок в GetFrame (строка 56) [OffsetRect, absoluteRect, figPos, figOuterPos] =. .. Ошибка в loop_code (строка 4) frm = getframe (fh); – Calculus5000
Это трудно решить, потому что вы не объяснили, что такое изображение .sdf или что делает функция 'GetDataSDF'. Также ваш код не перебирает «a», как вы утверждаете, или сохраняете PNG. Он пытается сохранить JPEG, несмотря на то, что ваш вопрос касается GIF («saveas» не поддерживает GIF, насколько я могу судить). Кажется, нет никаких причин фактически отображать изображения на фигуре, если целью является создание файла. Вы просто хотите прочитать необработанные данные и сохранить их в новом формате изображения. Вы посмотрели на 'imwrite'? Разве это не делает то, что вы хотите? – horchler