[mmdLeaf] [Up] [mmdPcb] Demonstrations

mmdLith
Detect defects in a microelectronic circuit.

Description

The input image is a gray-scale image of a microelectronic circuit. The relevant objects in this image are vertical metal stripes. These stripes have some irregularities that should be detected. Our procedure takes the residues of a gray-scale closing and filter (by size) the threshold of the residues.

Illustrated Source Code

Reading

The input image is read. The image is also displayed as a surface model.

Image a = mmReadgray("r4x2_256.tif");
mmShow(a);
mmShow(mmSurf(a));

a mmSurf(a)

Closing

Closing of the image by a vertical line of length 25 pixels. Then subtract it from the original. The sequence closing-subtraction is called closing top-hat. (This could be executed in a single command: c=mmCloseth (a,mmSeline (25,90));).

Image b = mmClose(a,mmSeline(25,90));
mmShow(b);
mmShow(mmSurf(b));

b mmSurf(b)

Subtraction

Subtraction of the closing from the original is called closing top-hat. It shows the discrepancies of the image where the structuring element cannot fit the surface. In this case, it highlights vertical depression with length longer than 25 pixels.

Image c = mmSubm(b,a);
mmShow(c);
mmShow(mmSurf(c));

c mmSurf(c)

Thresholding and Area Open

Threshold on the residues image. Elimination of the small objects by area open.

Image d = mmThreshad(c,50);
Image e = mmAreaopen(d,5);
mmShow(d);
mmShow(e);

d e

Final display

Overlay the detected defects over the original image, and over the surface display.

[mmdLeaf] [Up] [mmdPcb]