Bird
Raised Fist0
Computer Visionml~5 mins

Edge detection (Canny) in Computer Vision - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What is the main goal of the Canny edge detection algorithm?
The main goal of the Canny edge detection algorithm is to find the edges in an image accurately by detecting sharp changes in brightness while reducing noise and avoiding false edges.
Click to reveal answer
intermediate
List the main steps of the Canny edge detection process.
1. Noise reduction using a Gaussian filter.
2. Finding the intensity gradient of the image.
3. Non-maximum suppression to thin edges.
4. Double threshold to identify strong and weak edges.
5. Edge tracking by hysteresis to finalize edges.
Click to reveal answer
intermediate
Why does Canny edge detection use two thresholds instead of one?
Canny uses two thresholds to separate strong edges from weak edges. Strong edges are definitely edges, while weak edges are only considered edges if they connect to strong edges. This helps reduce noise and false detections.
Click to reveal answer
beginner
What role does the Gaussian filter play in Canny edge detection?
The Gaussian filter smooths the image to reduce noise before detecting edges. This helps prevent false edges caused by small fluctuations in pixel values.
Click to reveal answer
intermediate
Explain what non-maximum suppression does in the Canny algorithm.
Non-maximum suppression thins the edges by keeping only the pixels that are local maxima in the gradient direction. This means it removes pixels that are not the strongest edge points, making edges thinner and clearer.
Click to reveal answer
What is the first step in the Canny edge detection algorithm?
APerform edge tracking by hysteresis
BFind intensity gradient
CApply double threshold
DApply Gaussian filter to reduce noise
Why does Canny edge detection use two thresholds?
ATo detect colors
BTo separate strong edges from weak edges
CTo blur the image
DTo speed up the algorithm
What does non-maximum suppression do?
AThins edges by keeping only local maxima
BBlurs the image
CDetects corners
DRemoves all edges
Which filter is used in Canny to reduce noise?
AGaussian filter
BMedian filter
CSobel filter
DLaplacian filter
What is the final step in the Canny edge detection process?
ANon-maximum suppression
BDouble threshold
CEdge tracking by hysteresis
DGradient calculation
Describe the full process of the Canny edge detection algorithm in your own words.
Think about how the algorithm finds edges step by step, starting from smoothing the image.
You got /5 concepts.
    Explain why using two thresholds improves edge detection compared to using just one.
    Consider how weak edges might be noise or real edges depending on their connection.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of the Canny edge detection algorithm in computer vision?
      easy
      A. To resize images without losing quality
      B. To colorize black and white images
      C. To blur an image for noise reduction
      D. To find clear edges in an image by detecting boundaries

      Solution

      1. Step 1: Understand the goal of edge detection

        Edge detection aims to find where objects start and end by detecting sharp changes in brightness.
      2. Step 2: Recognize Canny's role

        Canny edge detection specifically finds clear edges by using gradients and thresholds to highlight boundaries.
      3. Final Answer:

        To find clear edges in an image by detecting boundaries -> Option D
      4. Quick Check:

        Edge detection = finding boundaries [OK]
      Hint: Edges show object borders clearly in images [OK]
      Common Mistakes:
      • Confusing edge detection with image coloring
      • Thinking Canny blurs images
      • Assuming it resizes images
      2. Which of the following is the correct way to call the Canny edge detector function in OpenCV (Python)?
      easy
      A. cv2.Canny(image, threshold1, threshold2)
      B. cv2.canny(image, threshold1, threshold2)
      C. cv2.Canny(image, threshold2, threshold1)
      D. cv2.Canny(image)

      Solution

      1. Step 1: Recall OpenCV function naming

        OpenCV functions are case-sensitive; the correct function is Canny with uppercase C.
      2. Step 2: Check required parameters

        The function requires the image and two threshold values in order: low threshold first, then high threshold.
      3. Final Answer:

        cv2.Canny(image, threshold1, threshold2) -> Option A
      4. Quick Check:

        Correct function name and parameter order = A [OK]
      Hint: Function names are case-sensitive; check parameter order [OK]
      Common Mistakes:
      • Using lowercase 'canny' instead of 'Canny'
      • Swapping threshold1 and threshold2
      • Omitting required threshold parameters
      3. Given the following Python code snippet using OpenCV, what will be the shape of the output image after applying Canny edge detection?
      import cv2
      image = cv2.imread('photo.jpg')
      edges = cv2.Canny(image, 100, 200)
      print(edges.shape)
      medium
      A. (height, width)
      B. (height, width, 3)
      C. (width, height)
      D. (height, width, 1)

      Solution

      1. Step 1: Understand input image shape

        Original image read by cv2.imread is usually (height, width, 3) for color images.
      2. Step 2: Check output of cv2.Canny

        Canny outputs a single-channel (grayscale) edge map, so shape is (height, width) without color channels.
      3. Final Answer:

        (height, width) -> Option A
      4. Quick Check:

        Canny output is grayscale edges = (height, width) [OK]
      Hint: Canny output is single-channel grayscale image [OK]
      Common Mistakes:
      • Assuming output keeps 3 color channels
      • Confusing width and height order
      • Expecting a 3D shape for edges
      4. You run Canny edge detection with thresholds 50 and 150 but get too many noisy edges. Which fix below correctly reduces noise in the output?
      medium
      A. Use a color image instead of grayscale
      B. Decrease both thresholds to lower values
      C. Increase both thresholds to higher values
      D. Remove Gaussian blur before Canny

      Solution

      1. Step 1: Understand threshold effect on noise

        Lower thresholds detect more edges including noise; higher thresholds reduce noise by ignoring weak edges.
      2. Step 2: Choose correct adjustment

        Increasing thresholds filters out weak noisy edges, improving edge quality.
      3. Final Answer:

        Increase both thresholds to higher values -> Option C
      4. Quick Check:

        Higher thresholds reduce noise in edges [OK]
      Hint: Higher thresholds filter out weak noisy edges [OK]
      Common Mistakes:
      • Lowering thresholds increases noise
      • Using color images directly confuses Canny
      • Skipping blur preprocessing increases noise
      5. You want to detect edges on a noisy grayscale image using Canny. Which sequence of steps will best improve edge detection results?
      hard
      A. Apply median blur, then Canny with low thresholds, then erode edges
      B. Apply Gaussian blur, then Canny with tuned thresholds, then dilate edges
      C. Apply Canny directly with default thresholds, then convert to color
      D. Resize image larger, then apply Canny with high thresholds, then invert edges

      Solution

      1. Step 1: Preprocess noisy image with Gaussian blur

        Gaussian blur smooths noise while preserving edges, improving Canny input.
      2. Step 2: Apply Canny with tuned thresholds

        Adjust thresholds to balance edge detection and noise filtering.
      3. Step 3: Use dilation to strengthen edges

        Dilation thickens edges, making them clearer for further processing.
      4. Final Answer:

        Apply Gaussian blur, then Canny with tuned thresholds, then dilate edges -> Option B
      5. Quick Check:

        Blur + tuned thresholds + dilation = best edge detection [OK]
      Hint: Blur first, tune thresholds, then enhance edges [OK]
      Common Mistakes:
      • Using low thresholds increases noise
      • Skipping blur causes noisy edges
      • Converting to color after Canny is useless