Take the 2-minute tour ×

Just wondering what the opening operator is in image processing? What does it do? Just deletes bits of the image that you don't want?

share|improve this question
I think it's just like a convolution or something? I'm not sure what mathematical steps are involved in making it work though... –  BenjaminFranklin May 6 '14 at 17:24
No, this is not a convolution. Morphological operations are highly non-linear and cannot be implemented through convolution. –  pichenettes May 6 '14 at 21:52

2 Answers 2

Opening is the morphological operation used for example in removal of small particles or some noise in binary image. Additionally it is widely used in hand-writing recognition where you want only the 'skeleton' of your letter.

Mathematically it is a dilation of the erosion. Erosion sets current pixel to 0 if any pixel in neighbourhood is 0. Dilation on the other hand sets pixel to 1 if any neighbour is 1.

You can think of that in following way: first you do the erosion ($N$ steps), which is shrinking boundaries of your objects. After that you perform dilation (also $N$ steps), which is expanding boundaries of your objects. Because small ones were removed in erosion step you will bring back biggest elements.

Here is some image showing this operation:

enter image description here

share|improve this answer

Exactly. It deletes the bits of the image you don't want. For example, when you try to detect moving objects in a video using background subtraction you get back a binary image, in which pixels with the value of 0 belong to the stationary background, and pixels with the value of 1 belong to moving foreground objects. This binary image is typically noisy. Morphological opening is a way to get rid of small noisy specks in the background, and morphological closing is a way to close noisy gaps or small holes in the foreground.

share|improve this answer

Your Answer


