I would like some advice on how to approach this problem. I am making an app where users will be retrieving photos of faces from a camera roll or camera capture (assuming they are always portrait) and I want to make it appear as though the face images are talking (ex. moving pixels around the mouth up and down) using any known image manipulation techniques. The resultant animation of the photo will appear on a separate view. I have started learning OpenGL and researched Open CV, Core Image, GPUImage and other frameworks. I have been given a small timeframe and generally, my experience with graphics processing is limited. I would appreciate it if anybody were to instruct me on what to do using any of the frameworks or libraries I have mentioned above.
Asked
Active
Viewed 372 times
0
-
This probably isn't the best project for someone just starting out with graphics manipulation, because what you're asking for is not a simple problem to solve. You're going to need to identify the faces, place the mouth location within that face, and then distort the areas around the mouth using a mesh or fragment shader. – Brad Larson Mar 05 '14 at 20:58
1 Answers
0
Since all you need is some animation of the image, I don't think it is a good idea to move the pixels around as you said. It's very complicated and the result of moving the pixels around might looks bad.
A much simpler approach is by using gif image. All you need to do is to make the animation of talking as a gif image and then use it in your app.
Please refer to the following question.
-
My mistake, I forgot to add that I will be taking face photos from the camera roll and also be allowing the use of camera capture. I don't know if using animated gifs will be the right choice in this case as I won't be using any particular animated image. – user3380095 Mar 05 '14 at 17:55
-
I don't think it matters what is the source of the image. It could come from camera. But after your capture the image, it is super hard to modify the image the way you want it to be. Computer won't understand the image as human brain does. All computer sees is a 2D matrix with different values. The first problem is that you have to determine where the mouse is. And even if you detect the mouse precisely, another super hard problem is how to manipulate the pixels. You could move the pixels around, but what color should you fill in the original pixel location? – Yuchen Mar 05 '14 at 21:12
-
Using gifs is not the only solution. But I do believe that using animation is the best (or easiest) solution. You could also capture a video of people talking and simply play the video. – Yuchen Mar 05 '14 at 21:14