
Illumination Uniformity Checker (ICC ver_1.0)
It is important to check the uniformity of machine vision illumination before proceeding to capture and process images. A poorly lit scene may have non-uniform lighting within the field-of-view, thus requiring complex algorithms to correct the non-uniform illumination. The following extract from a journal paper tells us the importance of checking the uniformity of illumination in a vision system in order to avoid complex pre-processing stages:
Fourier transform can effectively remove patterned backgrounds and distinctly preserve local anomalies, and Haar wavelet decomposition is applied to remove uneven illumination in the filtered image, so that defects can be easily segmented with simple statistical control limits.
​
Source: S-H Huang, Y-C Pan, Automated visual inspection in the semiconductor industry: A survey, Computers in Industry 66 (2015) 1–10
The Illumination Uniformity Checker (IUC_ver1.0) is a simple MATLAB GUI that can be used to determine whether the illumination in the field-of-view is uniform. The software works by calculating the mean intensity in a grayscale image, and then subtracting the intensity at each pixel from the mean intensity. A perfectly uniform illumination will therefore produce zero absolute difference after the subtraction. The following images show the sample operation of the software.


Low angle ring light illumination

Back light illumination

Subtraction result showing highly non-uniform lighting

Subtraction result showing highly uniform lighting