Bird
Raised Fist0
MATLABdata~10 mins

Morphological operations in MATLAB - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to perform dilation on the binary image.

MATLAB
dilatedImage = imdilate(binaryImage, [1]);
Drag options to blanks, or click blank then click option'
Astrel('disk', 3)
Bimerode(binaryImage, strel('disk', 3))
Cfspecial('gaussian', 3, 1)
Dstrel('square', 5)
Attempts:
3 left
💡 Hint
Common Mistakes
Using fspecial which is for filtering, not morphological operations.
Passing an image instead of a structuring element to imdilate.
2fill in blank
medium

Complete the code to perform erosion on the binary image.

MATLAB
erodedImage = imerode(binaryImage, [1]);
Drag options to blanks, or click blank then click option'
Astrel('disk', 2)
Bstrel('line', 5, 45)
Cfspecial('average', 3)
Dimdilate(binaryImage, strel('disk', 2))
Attempts:
3 left
💡 Hint
Common Mistakes
Using imdilate instead of imerode.
Using filtering functions like fspecial.
3fill in blank
hard

Fix the error in the code to perform morphological opening.

MATLAB
openedImage = imopen(binaryImage, [1]);
Drag options to blanks, or click blank then click option'
Aimerode(binaryImage, strel('disk', 3))
Bstrel('disk', 3)
Cfspecial('sobel')
Dimdilate(binaryImage, strel('disk', 3))
Attempts:
3 left
💡 Hint
Common Mistakes
Passing an image or filter instead of a structuring element.
Using imerode or imdilate directly instead of imopen.
4fill in blank
hard

Fill both blanks to create a structuring element and perform morphological closing.

MATLAB
se = [1];
closedImage = imclose(binaryImage, [2]);
Drag options to blanks, or click blank then click option'
Astrel('diamond', 4)
Bstrel('disk', 5)
Cse
Dstrel('line', 3, 90)
Attempts:
3 left
💡 Hint
Common Mistakes
Using different structuring elements in creation and closing.
Passing the structuring element creation call directly to imclose instead of the variable.
5fill in blank
hard

Fill all three blanks to create a structuring element, perform morphological gradient, and display the result.

MATLAB
se = [1];
gradientImage = imsubtract(imdilate(binaryImage, [2]), imerode(binaryImage, [3]));
imshow(gradientImage);
Drag options to blanks, or click blank then click option'
Astrel('square', 3)
Bse
Dstrel('disk', 2)
Attempts:
3 left
💡 Hint
Common Mistakes
Using different structuring elements for dilation and erosion.
Not using the variable 'se' consistently.

Practice

(1/5)
1. Which MATLAB function is used to create a structuring element for morphological operations?
easy
A. imerode
B. strel
C. imopen
D. imdilate

Solution

  1. Step 1: Understand structuring element creation

    The structuring element defines the shape used in morphological operations.
  2. Step 2: Identify the MATLAB function for structuring elements

    In MATLAB, strel creates structuring elements like disks or lines.
  3. Final Answer:

    strel -> Option B
  4. Quick Check:

    Structuring element = strel [OK]
Hint: Remember: strel makes shapes for morphology [OK]
Common Mistakes:
  • Confusing strel with imopen or imerode
  • Using imdilate to create structuring elements
  • Thinking imopen creates structuring elements
2. Which of the following is the correct syntax to perform erosion on a binary image BW using a disk structuring element of radius 3?
easy
A. BW2 = imopen(BW, strel('disk', 3));
B. BW2 = imdilate(BW, strel('disk', 3));
C. BW2 = imerode(BW, strel('disk', 3));
D. BW2 = imclose(BW, strel('disk', 3));

Solution

  1. Step 1: Identify the erosion function

    In MATLAB, imerode performs erosion on images.
  2. Step 2: Check the syntax for erosion with a disk structuring element

    The correct syntax is imerode(image, strel('disk', radius)).
  3. Final Answer:

    BW2 = imerode(BW, strel('disk', 3)); -> Option C
  4. Quick Check:

    Erosion syntax = imerode(image, strel) [OK]
Hint: imerode + strel('disk', radius) erodes image [OK]
Common Mistakes:
  • Using imdilate instead of imerode
  • Wrong order of arguments
  • Missing quotes around 'disk'
3. What will be the output size of the binary image BW2 after applying BW2 = imdilate(BW, strel('square', 3)); if BW is a 5x5 matrix?
medium
A. Cannot determine without image content
B. 7x7
C. 3x3
D. 5x5

Solution

  1. Step 1: Understand dilation size effect

    Dilation expands shapes but does not change image size in MATLAB.
  2. Step 2: Check MATLAB behavior on image size

    MATLAB morphological functions keep the output image size same as input.
  3. Final Answer:

    5x5 -> Option D
  4. Quick Check:

    Output size = input size for imdilate [OK]
Hint: Morphology keeps image size same in MATLAB [OK]
Common Mistakes:
  • Assuming dilation increases image size
  • Confusing structuring element size with output size
  • Thinking output depends on image content
4. Consider the code snippet:
se = strel('line', 5, 45);
BW2 = imerode(BW, se);

What is the likely error if BW is a grayscale image instead of binary?
medium
A. No error; imerode works on grayscale images
B. Error because strel cannot create line elements
C. Error because imerode expects binary images only
D. Error due to missing image conversion to binary

Solution

  1. Step 1: Check imerode input types

    MATLAB's imerode supports both binary and grayscale images.
  2. Step 2: Verify structuring element creation

    strel('line', 5, 45) correctly creates a line structuring element.
  3. Final Answer:

    No error; imerode works on grayscale images -> Option A
  4. Quick Check:

    imerode supports grayscale and binary [OK]
Hint: imerode works on grayscale too, no conversion needed [OK]
Common Mistakes:
  • Thinking imerode only works on binary
  • Assuming strel('line') is invalid
  • Forgetting imerode supports grayscale images
5. You want to remove small noise dots from a binary image BW without changing the main shapes. Which morphological operation and structuring element combination is best?
hard
A. imopen with strel('disk', 2)
B. imclose with strel('square', 5)
C. imerode with strel('line', 3, 0)
D. imdilate with strel('diamond', 1)

Solution

  1. Step 1: Understand noise removal by morphology

    Opening removes small objects (noise) while preserving shape size.
  2. Step 2: Choose suitable structuring element

    A disk with radius 2 is good for removing small dots without harming main shapes.
  3. Final Answer:

    imopen with strel('disk', 2) -> Option A
  4. Quick Check:

    Opening + disk removes noise best [OK]
Hint: Use imopen with small disk to clean noise [OK]
Common Mistakes:
  • Using imclose which fills holes
  • Using erosion alone which shrinks shapes
  • Using dilation alone which enlarges noise
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard