Eric Picture
I turn this image into George Clooney I took points from this image and then corresponding points from George Clooney using the mathlab plot library's ginput function. Then, I averaged the points to get a set of points representing the average face between the two. I ran Delauney's Triangulation algorithm on that set of points
Halfway warp between Me and George
After running Delauney's triangulations in the shape of this above image, I found the corresponding triangles in the eric and the george picture. For each triangle , I found the affine transformation between the two. I used skimage's polygon for each triangle in this average shape to get the points inside. For every point, I transform it using the inverse affine transformation to both the eric and the george images. If the transformation takes the point to a place in between pixels, I interpolate the area around that place with the RectangularBivariate function to get interpolated pixel value. I take half of each picture's pixel values
George Clooney
This is the other image I use for the halfway image on the left. I also transform the eric image to this image in the below gif.
Eric to George
The transformation/animation shows different merges of the eric and the george pictures, going from more eric-heavy pictures to george-heavy pictures
Daniel to Daniel
Here is another example of a merge. Here are my two friends, Daniel Liu and Daniel Lin. This one does not look as clean because the faces did not see to align as well. The second Daniel has his eyes smaller and is looking down from an angle.
Alexander Hamilton to Thomas Jefferson
For anyone who has watched Hamilton
Data-driven image processing with Danes data set
The next set I take all the pictures from the Danes data set, average them, and do a few warps and other thigs with them. In the data set, I am already given coordinate points, so I just take these, find the average shape, triangulate it, and then warp and cross-dissolve all the images to this shape and new image. Above is the result of warping one of the pictures to the average shape
Average face.
Here is the average face of the data set. Since the data set is of a sample of 40 Danish people, we can say this is could be a rough estimate of the average Danish face. We have a blur around the sides and body because all of the photos have radiacally different bodies and clothes
Another Danish man to the average Danish face
Here is another animation/example of morphing the face of one Danish person to the data-determined average face
Danes data set on my own face: my face to the avg Dane
In these next three images I do a few experiments of the average danish face to my face. In this above picture, I am warping the shape of my head to the average Dane
Eric Caricature
Here instead of turning myself into a Dane, I extrapolate. I take out all the Danish parts of me as determined by this average image, further highlighting my color and shape features. This follows a similar method as I used to merge pictures. I just use different fractions and weights on images, giving my features more than enough weight and subtracting the danish parts.
The Average Danish face to my shape
Here I go the other way around and try to turn the avg danish man to me. The morphings look funny here because unlike the other images in the Danes set, I actually plotted my own points this time, and they seem not to work as well.
Extra Credit: Founding Fathers
If video does not play https://www.dropbox.com/s/v4fl9pxym6znqqs/fathers_vid.mp4?dl=0