Image Processing Toolbox User's Guide

Eroding an Image

To erode an image, use the `imerode` function. The `imerode` function accepts two primary arguments:

• The input image to be processed (grayscale, binary, or packed binary image)
• A structuring element object, returned by the `strel` function, or a binary matrix defining the neighborhood of a structuring element

`imerode` also accepts three optional arguments: `PADOPT`, `PACKOPT`, and `M`.

The `PADOPT` argument affects the size of the output image. The `PACKOPT` argument identifies the input image as packed binary. If the image is packed binary, `M` identifies the number of rows in the original image. (Packing is a method of compressing binary images that can speed up the processing of the image. See the `bwpack` reference page for more information.)

The following example erodes the binary image `circbw.tif`:

1. Read the image into the MATLAB workspace.
• ```BW1 = imread('circbw.tif');
```
2. Create a structuring element. The following code creates a diagonal structuring element object. (For more information about using the `strel` function, see Structuring Elements.)
• ```SE = strel('arbitrary',eye(5));
SE=

Flat STREL object containing 5 neighbors.

Neighborhood:
1     0     0     0     0
0     1     0     0     0
0     0     1     0     0
0     0     0     1     0
0     0     0     0     1
```
3. Call the `imerode` function, passing the image `BW` and the structuring element `SE` as arguments.
• ```BW2 = imerode(BW1,SE);
```
1. Notice the diagonal streaks on the right side of the output image. These are due to the shape of the structuring element.

• ```imshow(BW1)
figure, imshow(BW2)

```

 Dilating an Image Combining Dilation and Erosion