# Paper Writing Services -1 -1; -1 8 -1; -1 -1 -1] (5) t “v” shows the vertical edge effect by applying the Sobel filter The

Abstract
captured video. Your task is to apply different kernels triggered by tting different keys on the keyboard: (1) t “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) t “g” shows the Gaussian blurred video The “Gaussian” kernel is [1 2 1;

For ts 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 tting different keys on the keyboard: (1) t “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) t “g” shows the Gaussian blurred video The “Gaussian” kernel is [1 2 1; 2 4 2; 1 2 1] * 1/16. (3) t “m” shows the mean/average blurred video The ” mean” kernel is [1 1 1; 1 1 1; 1 1 1] * 1/9. (4) t “e” shows the ordinary edge effect The “edge” kernel is [-1 -1 -1; -1 8 -1; -1 -1 -1] (5) t “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) t “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) t “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. 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 ts 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. ( refer online document for further details: http://docs.opencv.org/modules/imgproc/doc/filtering.html#void filter2D(InputArray src, OutputArray dst, int ddepth, InputArray kernel, Point anchor, double delta, int borderType)” 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(). Ts function is called inside the wle loop for every input video frame for effect processing. (1) Successfully pass compilation or linkage (10%) (2) Correctly stream the video from a webcam and display it. If “Esc” key is t, the application terminates (20%) (3) Correctly use “filter2D()” function with proper parameters passing (30%) (4) Fully generate all the required effects with corresponding keyboard operations (40%)

Sample references
• (‘Fiala, N. 2008. Meeting the demand: An estimation of potential future greenhouse gas emissions from meat production. Ecological Economics 67(3):412-419.’,)
• (‘Hunt, R., D. W. Hand, M. A. Hannah, and A. M. Neal. 1991. Response to CO2 enrichment in 27 herbaceous species. Functional Ecology 5(3):410-421.’,)
• (‘Hayhoe, K., S. Sheridan, L. Kalkstein, and S. Greene. 2010. Climate change, heat waves, and mortality projections for Chicago. Journal of Great Lakes Research 36(2):65-73, doi:10.1016/j.jglr.2009.12.009.’,)
• (‘Sahay, Ratna, Martin Cihak, Papa N’Diaye, Adolfo Barajas, Ran Bi, Diana Ayala, Yuan Gao, Annette Kyobe, Lam Nguyen, Christian’,)