联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> CS作业CS作业

日期:2018-06-06 02:13


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. (please 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(). This function is

called inside the while loop for every input video frame for effect processing.


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp