This assignment is intended for you to put into practice some skills about the use of image filters. Submit a report about your work for this assignment by the due date (as mentioned above). Solutions and results need to be clearly present in the report. This assignment requires you to create and implement the following filters on a given image and discuss your observation for each filter. Apply all filters with 3x3 and 5x5 image window size. 1. Box Filter (do not use open cv built-in function, write our own code to implement it) 2. Box Filter (OpenCV) 3. Sobel Filter towards X axis edges (do not use open cv built-in function, write our own code to implement it) 4. Sobel filter towards Y axis edges (do not use open cv built-in function, write our own code to implement it) 5. Sobel filter with X-axis edges and Y axis edges (do not use open cv built-in function, write our own code to implement it) 6. Sobel Filter with X-axis edges and Y axis edges with OpenCV 7. Gaussian Filter (OpenCV) Tasks In short, for this assignment you do the following: Implement the above-mentioned filters for smoothing/edge detection of the image. Mention all implementation details like the size of your sliding window, convolution etc. . Must put resulted images after applying each filter on given images. . Do not use any other image. You may use OpenCV to achieve operations. Test Your Program - Test your program on the given images. Report To finalize your report, start with identifying yourself and provide a title for your report, include samples of outputs of your program into this report, possibly have references included, put code also for each implementation in your report, do not copy from somewhere without proper citation and reference, but aim at writing in your own words; - Submit sources (.cpp) and report (in pdf format) in one zip file