Programming Homework

P3: Image Filtering

and Edge Detection

Goal: Image filters and edge detectors

    • Remove noise by blurring filters: Gaussian, mean and median filters.
    • Detect edges by directional filters: sobel and laplacian files.
    • Detect edges by Canny detector

Readings and sample codes

Programming

    • Write three program codes: denoise.cpp, edge_detection_filter.cpp, and canny_detector.cpp.
    • denoise.cpp: write a program code to run Gaussian, Mean, and Median filters for one image.
      • Follow the explanation in this PDF. Remember that you have to change kernel size and compare the blurring results among filters and among kernel sizes.
      • Then you have to add salt-and-pepper noise and run the three filters again. You have to change kernel size and compare the denoise results among filters and among kernel sizes.
    • edge_detection.cpp: write a program code to run Sobel and Laplacian filters
      • Follow the explanation in this PDF. Remember that you have to use an image to run both Sobel and Laplacian filters. Compare the results of edge images.
    • canny_detector.cpp: write a program code to run the Canny edge detector by OpenCV.

Web Report

    • Create a web page with descriptions, explanation and pictures for your programs.
    • Requirements of the report page:
      • For each program code, you have to write 4 parts: (1) goal of this code, (2) theory and principle of the code, (3) code segment explanation, and (4) result comparison or analysis.
      • Use your image to run your programs.
      • Change parameters of algorithm's functions to get different result images.
      • Compare and discuss the result images, and explain why the change of parameters can produce different results.
    • Submit your web address by Google Classroom.