Uneven Illumination/Contrast Correction

17 views (last 30 days)
Nadine Truter
Nadine Truter on 10 Nov 2020
Answered: Divya Gaddipati on 29 Dec 2020
I am having troubles correcting a microscope image with uneven illumination. I need to count cells in an image, of which are touching. The area I am showing is the section that is darker in the image.
I have tried the following code, and also functions such as: bw2 = imbinarize(I,'adaptive','ForegroundPolarity','dark'); to correct for it. Unfortunately either non-cells stay in the final image or some of the cells that are in a darker area of the image disappear entirely.
(Invertgray is just the original grayscale image, inverted.)
I have included various different results I have gotten:
background = imopen(invertgray, strel('disk', 10));
I2 = invertgray - 1.2*background;
adjust = imadjust(I2);
BW = imbinarize(adjust);

Answers (1)

Divya Gaddipati
Divya Gaddipati on 29 Dec 2020
You could try to perform image enhancement prior to converting it to a binary image.
For non-uniform illumination correction, you could refer to the following page: https://www.mathworks.com/help/images/correcting-nonuniform-illumination.html
Alternatively, you could also explore File Exchange for any submissions on other methods for illumination correction.


Find more on Biomedical Imaging in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!