Bird
Raised Fist0
Computer Visionml~10 mins

Blurring and smoothing (Gaussian, median, bilateral) in Computer Vision - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to apply a Gaussian blur to the image using OpenCV.

Computer Vision
blurred = cv2.[1](image, (5, 5), 0)
Drag options to blanks, or click blank then click option'
Ablur
BGaussianBlur
CbilateralFilter
DmedianBlur
Attempts:
3 left
💡 Hint
Common Mistakes
Using medianBlur instead of GaussianBlur changes the smoothing method.
Using blur applies a simple average filter, not Gaussian.
2fill in blank
medium

Complete the code to apply a median blur with a kernel size of 5.

Computer Vision
blurred = cv2.[1](image, 5)
Drag options to blanks, or click blank then click option'
AmedianBlur
BGaussianBlur
CbilateralFilter
Dblur
Attempts:
3 left
💡 Hint
Common Mistakes
Using GaussianBlur instead of medianBlur changes the smoothing effect.
Using bilateralFilter requires more parameters.
3fill in blank
hard

Fix the error in the code to apply a bilateral filter correctly.

Computer Vision
blurred = cv2.bilateralFilter(image, [1], 75, 75)
Drag options to blanks, or click blank then click option'
A9
B3
C1
D5
Attempts:
3 left
💡 Hint
Common Mistakes
Using too small diameter like 1 reduces smoothing effect.
Using even numbers may cause unexpected behavior.
4fill in blank
hard

Fill both blanks to create a dictionary with keys as filter names and values as their OpenCV function calls.

Computer Vision
filters = {'gaussian': cv2.[1], 'median': cv2.[2]
Drag options to blanks, or click blank then click option'
AGaussianBlur
BmedianBlur
CbilateralFilter
Dblur
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing up bilateralFilter with medianBlur.
Using blur instead of GaussianBlur.
5fill in blank
hard

Fill all three blanks to apply a bilateral filter with diameter 9, sigmaColor 75, and sigmaSpace 75.

Computer Vision
blurred = cv2.bilateralFilter(image, [1], [2], [3])
Drag options to blanks, or click blank then click option'
A5
B75
C9
D50
Attempts:
3 left
💡 Hint
Common Mistakes
Using diameter 5 instead of 9 changes smoothing area.
Confusing sigmaColor and sigmaSpace values.

Practice

(1/5)
1. Which filter is best for removing salt-and-pepper noise while preserving edges in an image?
easy
A. Bilateral filter
B. Median filter
C. Gaussian filter
D. Box filter

Solution

  1. Step 1: Understand salt-and-pepper noise characteristics

    Salt-and-pepper noise appears as random black and white pixels, which median filters handle well by replacing each pixel with the median of neighbors.
  2. Step 2: Compare filters for edge preservation

    Median filters remove noise without blurring edges, unlike Gaussian filters which blur edges, and bilateral filters which are more complex but less effective for salt-and-pepper noise.
  3. Final Answer:

    Median filter -> Option B
  4. Quick Check:

    Salt-and-pepper noise = Median filter [OK]
Hint: Median filter excels at salt-and-pepper noise removal [OK]
Common Mistakes:
  • Choosing Gaussian filter which blurs edges
  • Confusing bilateral filter with median filter
  • Using box filter which blurs noise and edges
2. Which of the following is the correct OpenCV function call to apply a Gaussian blur with a 5x5 kernel on an image stored in img?
easy
A. cv2.GaussianBlur(img, (5,5), 0)
B. cv2.medianBlur(img, 5)
C. cv2.blur(img, (5,5))
D. cv2.bilateralFilter(img, 5, 75, 75)

Solution

  1. Step 1: Identify Gaussian blur function syntax

    OpenCV's GaussianBlur requires the image, kernel size as a tuple, and sigma (0 means auto).
  2. Step 2: Match options to syntax

    cv2.GaussianBlur(img, (5,5), 0) matches the correct function and parameters for Gaussian blur with 5x5 kernel.
  3. Final Answer:

    cv2.GaussianBlur(img, (5,5), 0) -> Option A
  4. Quick Check:

    Gaussian blur syntax = cv2.GaussianBlur(img, (5,5), 0) [OK]
Hint: GaussianBlur uses tuple kernel size and sigma parameter [OK]
Common Mistakes:
  • Using medianBlur for Gaussian blur
  • Passing kernel size as single integer instead of tuple
  • Confusing bilateralFilter parameters
3. What will be the effect of applying a bilateral filter with parameters d=9, sigmaColor=75, sigmaSpace=75 on a noisy image?
medium
A. Sharpens edges and increases noise
B. Blurs the entire image uniformly
C. Removes only salt-and-pepper noise
D. Smooths noise while preserving edges

Solution

  1. Step 1: Understand bilateral filter parameters

    d controls neighborhood size; sigmaColor controls color similarity; sigmaSpace controls spatial closeness. Together they smooth noise but keep edges sharp.
  2. Step 2: Analyze filter effect on noisy image

    Bilateral filter smooths noise while preserving edges, unlike Gaussian which blurs edges or median which targets salt-and-pepper noise.
  3. Final Answer:

    Smooths noise while preserving edges -> Option D
  4. Quick Check:

    Bilateral filter = noise smoothing + edge preservation [OK]
Hint: Bilateral filter smooths noise but keeps edges sharp [OK]
Common Mistakes:
  • Thinking bilateral filter blurs edges
  • Confusing bilateral with median filter
  • Assuming it only removes salt-and-pepper noise
4. You applied a median filter with kernel size 3 on an image but the noise is still visible. What is the likely mistake?
medium
A. Median filter does not remove noise
B. Kernel size must be even number
C. Kernel size is too small to remove noise effectively
D. Median filter blurs edges too much

Solution

  1. Step 1: Understand median filter kernel size effect

    Small kernel sizes may not cover enough pixels to remove noise effectively.
  2. Step 2: Identify correct kernel size usage

    Median filter kernels must be odd-sized and larger kernels remove more noise but may blur details.
  3. Final Answer:

    Kernel size is too small to remove noise effectively -> Option C
  4. Quick Check:

    Increase kernel size for better noise removal [OK]
Hint: Use larger odd kernel sizes for stronger noise removal [OK]
Common Mistakes:
  • Using even kernel sizes (invalid)
  • Expecting median filter to blur edges heavily
  • Thinking median filter can't remove noise
5. You want to denoise a photo with both Gaussian noise and preserve sharp edges of objects. Which sequence of filters should you apply for best results?
hard
A. Apply Gaussian blur first, then bilateral filter
B. Apply median filter first, then Gaussian blur
C. Apply bilateral filter first, then median filter
D. Apply median filter only

Solution

  1. Step 1: Understand noise types and filter strengths

    Gaussian noise is best reduced by Gaussian blur; bilateral filter preserves edges while smoothing remaining noise.
  2. Step 2: Determine filter order for best effect

    Applying Gaussian blur first reduces Gaussian noise; then bilateral filter smooths while preserving edges, improving overall quality.
  3. Final Answer:

    Apply Gaussian blur first, then bilateral filter -> Option A
  4. Quick Check:

    Gaussian blur + bilateral filter = noise reduction + edge preservation [OK]
Hint: Use Gaussian blur then bilateral filter for noise + edges [OK]
Common Mistakes:
  • Applying median filter first which doesn't target Gaussian noise well
  • Using only one filter for mixed noise
  • Applying bilateral filter before Gaussian blur