- Make the geometry smaller.
- Make the color table shorter.
- Use frame optimization.
set the quality of GIF
27 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
x = 0:0.1:10;
y = sin(x);
fig = figure;
lines = animatedline('Color', 'red');
xlim([0 10]); ylim([-1 1]);
frames(100) = struct('cdata', [], 'colormap', []);
filename = 'filename.gif';
for i = 1:100
addpoints(lines, x(i), y(i));
drawnow;
frames(i) = getframe(fig);
[A, map] = rgb2ind(frame2im(frames(i)), 256);
if i == 1
imwrite(A, map, filename, 'gif', 'DelayTime', 1/30)
else
imwrite(A, map, filename, 'gif', 'DelayTime', 1/30, 'WriteMode', 'append');
end
end
How to change the quality of this GIF. Since the capacity is large, I want to reduce the capacity.
0 Kommentare
Akzeptierte Antwort
DGM
am 21 Nov. 2021
GIF has no "quality" parameter. For the most part, you have three choices:
Options 1 and 2 should be pretty obvious. Either use imresize() or specify a shorter CT when calling rgb2ind().
Option 3 isn't really practical within the scope of MATLAB and imwrite(). Write the image and use some external tool (ImageMagick, GIMP, etc) to optimize it.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Modify Image Colors finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!