You can start with the demo code for gaussian blur posted


Question: For this project, you are to implement a prototype of "Photo Booth" by using different kernels for image filter. The input image is obtained directly from the web camera captured video. Your task is to apply different kernels triggered by hitting different keys on the keyboard:

(1) Hit "i" shows the original video

The "identical" kernel is [0 0 0; 0 1 0; 0 0 0]. Semi-colon ";" indicates a new row.

(2) Hit "g" shows the Gaussian blurred video

The "Gaussian" kernel is [1 2 1; 2 4 2; 1 2 1] * 1/16.

(3) Hit "m" shows the mean/average blurred video

The " mean" kernel is [1 1 1; 1 1 1; 1 1 1] * 1/9.

(4) Hit "e" shows the ordinary edge effect

The "edge" kernel is [-1 -1 -1; -1 8 -1; -1 -1 -1]

(5) Hit "v" shows the vertical edge effect by applying the Sobel filter

The vertical Sobel kernel is [-1 0 1; -2 0 2; -1 0 1]

(6) Hit "h" shows the horizontal edge effect by applying the Sobel filter

The horizontal Sobel kernel is [-1 -2 -1; 0 0 0; 1 2 1]

(7) Hit "s" shows the sharpen effect

The sharpen kernel is [0 -1 0; -1 5 -1; 0 -1 0]. If the result is not obvious, you can change a bigger number than "5" for the center number, such as 7.

Hints:

You do not need to implement the filter from scratch. Instead, OpenCV provides you with a convenient filter API: "filter2D()". You just need to use this function directly and put two "Mat" variables as input with some other basic parameters. The two "Mat" variables refer to the input original image and the corresponding Kernel image.

You can start with the demo code for Gaussian blur posted as a basic framework. What you need to do is to replace the four nested loops in the demo code by using kernel functions. You are suggested to create a separate function, e.g. myEffect(Mat original_frame) or myEffect(). This function is called inside the while loop for every input video frame for effect processing.

Request for Solution File

Ask an Expert for Answer!!
Programming Languages: You can start with the demo code for gaussian blur posted
Reference No:- TGS02787594

Expected delivery within 24 Hours