Funny Face Application Created By: Sweta Patil Guided By: Mingon Kang
Goal of the Project To convert a given face image into a funny image by expanding the facial features and adding some filters. Steps: Focus the camera on some person, the camera will detect the face After detecting the face, it will convert the image into a funny image
Technologies Used OpenCV Computer Vision library with APIs that let you setup a pipeline for your Computer Vision project Android Studio Used to develop mobile applications for Android platform
App Architecture Integrated OpenCV with Android Studio to develop the Funny Face Application.
Implementation Details View Linear Layout JavaCameraView control Camera Orientation CameraBridgeViewBase Canvas rotation
Implementation Details 2. Logic onCameraViewStarted() onCameraFrame() Access each frame, and process each frame to detect the faces using cascade classifier inputFrame is represented as Mat (openCV matrix), extract the submatrix, apply the effects and overlay it on the inputFrame onCameraViewStopped()
Implementation Details 2.1. Logical Diagram
Implementation Details 3. Features Pixel Effect Resize function Sepia Effect Transform function Flip Camera View (Front and Back Camera) Also, I have added the funny ear and nose using the ellipse function. Note: As of now, my application is very stable and doesn’t crash
Output for Pixel Effect
Output for Sepia Effect
Future Scope of the Project Make a funny face application like Snow Get left profile, right profile and add effects Swap faces only with opposite genders Create video effects Requirements and OpenCV limitations OpenCV works great in detecting faces, but requires lot of computations to be performed on the client or the app OpenCV only detects faces if viewed from front view only Need to figure out different API’s where the heavy lifting is done and my future scope can be fulfilled