intensity correction in images

22 views (last 30 days)
Hi,
I intend to correct the intensity in the images which arises due to the non uniformity in the illumination source.
As illustrated in the attched image, due to presence of inhomogeneity associated with the illumination source, the intensity is maximum at left and right side, however it is low on top and bottom. Now I intend to have uniform intensity through out. Is there any way out to achieve this ??
I tried with the normalize option e.g., But I am not succesful ..
normalize ( image data, 'range')

Accepted Answer

Image Analyst
Image Analyst on 31 May 2021
If that is your illumination source, you need to convert that to a percentage image and then divide your test images by the percentage image.
maxValue = max(illuminationImage(:))
percentageImage = double(illuminationImage) / maxValue;
correctedImage = double(testImage) ./ percentageImage;
Rationale: If the image only has 90% as many photons hitting the scene there, you'd need to divide by 0.9 there to bring it up to the intensity it should have (the intensity it would have if it were illuminated by the full max intensity).
  16 Comments
Turbulence Analysis
Turbulence Analysis on 24 Jun 2021
Appologies for being late in responding.. Yes, I am getting the desired results....

Sign in to comment.

More Answers (1)

Turbulence Analysis
Turbulence Analysis on 31 May 2021
Many thanks..
I have tried, but didn't get the desired results.. I have attached the corrected image, which I have got
I have attached test image, illumination image mat files for your reference.
  5 Comments
Turbulence Analysis
Turbulence Analysis on 5 Jun 2021
Amit,
Thanks for the suggestion. I have attched the .mat file of the sample image here... Please let me know if you get any issues while accessing...

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!