JPG to GIF animation

28 次查看(过去 30 天)
Hi,
I am using this code for conversion of JPGs to GIF animation. It works but produces strange colors (first and second picture in animation have incorrect colors and third is OK).
I would like to ask you to hep with correction of the code.
clear
clc
%// Image source: http:\\giantbomb.com
[A,map] = rgb2ind(imread('obr_0.jpg'),256);
[B,map] = rgb2ind(imread('obr_01.jpg'),256);
[C,map] = rgb2ind(imread('obr_99.jpg'),256);
ImageCell = {A;B;C};
%// Just to show what the images look like (I removed spots to make sure there was an animation created):
%// Create file name.
FileName = 'test.gif';
for k = 1:numel(ImageCell)
if k ==1
%// For 1st image, start the 'LoopCount'.
imwrite(ImageCell{k},map,FileName,'gif','LoopCount',Inf,'DelayTime',1);
else
imwrite(ImageCell{k},map,FileName,'gif','WriteMode','append','DelayTime',1);
end
end
BR
Mathew

采纳的回答

Simon Chan
Simon Chan 2022-9-12
The colormap for the first two figures are overwritten by the third one in the following:
[A,map] = rgb2ind(imread('obr_0.jpg'),256);
[B,map] = rgb2ind(imread('obr_01.jpg'),256); % Overwrite 1st time
[C,map] = rgb2ind(imread('obr_99.jpg'),256); % Overwrite 2nd time
  2 个评论
Mathew Smith
Mathew Smith 2022-9-12
Thank you very much! It is true.
Mathew Smith
Mathew Smith 2022-9-12
Do you have an idea how to store [A,map] in ImageCell so that later it can be used for command "imgwrite" using FOR-END loop?

请先登录,再进行评论。

更多回答(0 个)

产品


版本

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by