17

I have around 200 jpg images. I need to stack them so that i can convert them into a simple animated gif image. Are there any free tools available to do that job? My os is windows. I'm not so bothered about the quality of the output.

Bharath
  • 181
  • 1
  • 1
  • 5

5 Answers5

53

Try using ImageMagick's convert utility. I have used it to create animated gifs from a set of images (in any format) in the past.

Use the command

convert -delay 20 -loop 0 *.jpg animated.gif
Joseph Dykstra
  • 1,416
  • 1
  • 15
  • 17
Szabolcs
  • 24,728
  • 9
  • 85
  • 174
  • 1
    umm.. isn't there any light wait tool than that? – Bharath Jun 03 '11 at 17:17
  • 2
    Imagemagick is the standard tool for tasks like this. It's not exactly "leight weight", but what do you mean with this anyway? It's a well-established command line program available for any Linux distribution and other platforms. – Dr. Jan-Philip Gehrcke Aug 05 '13 at 16:58
  • @Jan-PhilipGehrcke It requires spending some time reading docs, finding the right options in the docs, and some trial and error. I agree it's not the most pleasant tool to use, but it's powerful and versatile. (And as command line programs go, `convert` is one of the easier/more convenient ones.) – Szabolcs Aug 05 '13 at 17:00
  • ive always seen ImageMagick as the best tool for this. i believe you could also use ffmpeg but thats not lightweight either lol. – j_mcnally Oct 07 '16 at 18:09
5

Might want to look at GiftedMotion: http://www.onyxbits.de/giftedmotion

Femi
  • 64,273
  • 8
  • 118
  • 148
4

ImageJ and FIJI provide a powerful GUI for doing this is (FIJI is a re-package of ImageJ that also includes some widely used plugins). These powerful (but free!) programs may be overkill, but depending on your needs this may be the way to go, since this is a somewhat common and crucial task for biologists.

Also FIJI can open a large array of different image types, can save to GIF or AVI, and it is very easily scriptable (insternally with in Python or Java) for automating custom tasks etc.

Step-by-step instructions (from Here and Here) are as follows:

  1. Put your images in a folder, and name them in sequence (eg. make sure they open alphabetically in the right order, perhaps by adding the desired frame numbers to the start of the filenames). (On MacOS, this automator action could help)
  2. In FIJI, Select `File > Import > Image Sequence..."
  3. Choose your folder, and then any options (eg. scaling the images)
  4. Preview the video with the Play button in the resulting window's corner.
  5. To change the frame rate, choose Image > Stacks > Animation > Animation Options...
  6. Select File > Save As > Animated GIF... or AVI... and you're done.

    For GIF you can choose the delay between frames (ie. frame rate), and looping option. For AVI you can choose the frame rate.

Demis
  • 5,278
  • 4
  • 23
  • 34
  • 1
    How to create gif using ImageJ / Fiji with screenshots: http://www.opensourceov.org/2017/04/creating-animated-gifs-using-imagej/ – SimplyInk Jul 23 '20 at 08:36
4

If you'd like a flexible on-line solution, I just used GIFmaker.me and it worked great. It lets you change the frame order, change the size, set the speed, and set the repeat cycles. You can view the animated GIF and download it when you're finished.

Edit: I just used another on-line tool that GIFmaker refers to on their site. GIFcreator is even more flexible, letting you duplicate frames, change the delay for each frame, remove frames, and reverse frames. It also has a more flexible resize capability.

skst
  • 575
  • 9
  • 15
4

In theory this would work

ffmpeg -f image2 -i image%d.jpg video.avi
ffmpeg -i video.avi -pix_fmt rgb24 -loop_output 0 out.gif
j_mcnally
  • 6,928
  • 2
  • 31
  • 46