intensity correction in images
24 views (last 30 days)
Show older comments
Turbulence Analysis
on 31 May 2021
Commented: Turbulence Analysis
on 24 Jun 2021
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')
0 Comments
Accepted Answer
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
Image Analyst
on 6 Jun 2021
No. It would be something like
mask = grayImage > someThresholdValue;
maxValue = max(grayImage(:))
grayImage(mask) = maxValue; % Set everything in the ring equal to the max value.
More Answers (1)
Turbulence Analysis
on 31 May 2021
5 Comments
Amit
on 5 Jun 2021
You need to normalize intensity of all images and then you segmentation of region of intest will be become uniform.
Adjusting contrast of images so as to cover complete dynamic range of intensity of all pixels.
Please send all of your database images as zip file to amit.kenjale@gmail.com, I will try our some code that will work for all of your images.
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!