This is a short guy to creation of simple animation from static frames based on interpolation between images. It uses simple smooth flow that blends original frames in a set of several transitional frames. This might be useful for automatic animated slideshows of static art works.
I enjoyed reading new article published by MIT and written by Antonio and Hanna Damasio Feelings Are the Source of Consciousness:
It is quite non-technical and allows clear understanding by a general reader. That gave me idea to feed the article to BING AI and ask to illustrate it. NING AI uses OpenAI ChatGPT and DALL-E. The way I did it is simply opening the article in Microsoft EDGE browser and then using BING Chat sidebar to illustrate the full text of the article. You can play with various prompts stressing various philosophical or technical sides of the text and various art styles. Here are a few images from my experiment:
In[]:=
We can down-size them for speedy calculations
In[]:=
res=ImageResize[#,700]&/@imgs;
and visualize the whole set to understand what we are working with:
In[]:=
ImageCollage[res,ImageSize->700]
Out[]=
I’d like to create a single animated .GIF image that provides smooth transition between these static illustrations. This will be done by interpolating between the frames. Let’s define a number of interpolating frames including the starting original:
In[]:=
sub=4;
These will interpolate between static frames automatically adding new blended frames at uniform time stamps:
In[]:=
frames=Values[TimeSeriesResample[TimeSeries[Append[res,First[res]],{0}],1/sub]];frames//Length
Out[]=
49
I wanted to pause on original frames a bit and thus needed to produce non-uniform time duration for each frame:
In[]:=
timings=Flatten[Riffle[Table[.7,1+Length[res]],{Table[.1,sub-1]}]]timings//Length
Out[]=
{0.7,0.1,0.1,0.1,0.7,0.1,0.1,0.1,0.7,0.1,0.1,0.1,0.7,0.1,0.1,0.1,0.7,0.1,0.1,0.1,0.7,0.1,0.1,0.1,0.7,0.1,0.1,0.1,0.7,0.1,0.1,0.1,0.7,0.1,0.1,0.1,0.7,0.1,0.1,0.1,0.7,0.1,0.1,0.1,0.7,0.1,0.1,0.1,0.7}
Out[]=
49
Now we ready to export in external animated .GIF file:
In[]:=
Export["Damasio.gif",frames,"DisplayDurations"->timings,ImageSize->700]
Out[]=
confeel.gif
or play animation inside the notebook:
In[]:=
SlideShowVideo[frames->timings]
Out[]=
To try new AI tools inside Wolfram Notebooks take a look at: