The link at the top of this post points into the Ancien Régimes tutorials (pre-2.0), not readily available because there is quite a bit of deprecated G’MIC notation in them. But the cauldron tutorial was re-written and updated, and now lives here: Cauldron, Anyone? As presently written, generating the 200 image sequence, 360×240, takes about 0.75 gig of memory:
cauldron:
-input 360,240,200,3
-noise[-1] 0.2,2
-bandpass 2%,3%
-normalize 0,255
-display
-split z
-output cauldron.mp4,24,h264
$ gmic cauldron.gmic -verbose + -cauldron -verbose -
[gmic]-0./ Start G'MIC interpreter.
[gmic]-0./ Input custom command file 'cauldron.gmic' (1 new, total: 4552).
[gmic]-0./ Increment verbosity level (set to 2).
[gmic]-0./cauldron/ Input black image at position 0 (1 image 360x240x200x3).
[gmic]-1./cauldron/ Add salt&pepper noise to image [0], with standard deviation 0.2.
[gmic]-1./cauldron/ Apply bandpass filter [2%,3%] to image [0].
[gmic]-1./cauldron/ Normalize image [0] in range [0,255], with constant-case ratio 0.
[gmic]-1./cauldron/ Display image [0] = '[unnamed]', from point (180,120,100).
[0] = '[unnamed]':
size = (360,240,200,3) [197 Mio of float32].
data = (128.162,131.093,133.638,135.768,137.465,138.717,139.523,139.89,139.832,139.374,138.546,137.386,(...),127.24,126.957,126.86,126.962,127.271,127.793,128.532,129.489,130.661,132.043,133.626,135.401).
min = 0, max = 255, mean = 129.187, std = 28.3084, coords_min = (344,103,28,0), coords_max = (38,157,34,0).
[gmic]-1./cauldron/ Split image [0] along the 'z'-axis.
[gmic]-200./cauldron/ Output images [0,1,2,(...),197,198,199] as mp4 file 'cauldron.mp4', with 24 fps and h264 codec.
[gmic]-200./ Decrement verbosity level (set to 1).
[gmic]-200./ End G'MIC interpreter.
To warp an overlay, start with some image file, here cauldron_title.png
:
Take the animation generated from cauldron
(cauldron.mp4
) and warp the overlay using the red and green channels and the -warp
command:
cauldron_over:
-input cauldron.mp4
-blur 1
-input cauldron_title.png
-repeat $!-1
-local[$>,-1]
+channels[0] 0,1
-normalize. -15,15
+warp[1] [-1],1
-remove..
-shared. 100%
-normalize. 0,255
-remove.
-blend[0,-1] alpha
-done
-done
-remove.
-output cauldron2.mp4,24,h264
There is a typo (dammit!) in the revised tutorial — a space character separating the local
command from its selection decorator, which gives rise to a messy reintroduction of the entire image list into the local context, rather than one animation frame and one copy of the overlay text. Needless to say, Things Don’t Work. Fixed above, and soon to be fixed in the tutorial.
Final animation: