intensity correction in images
21 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Image Analyst
2021-5-31
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 个评论
Image Analyst
2021-6-6
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.
更多回答(1 个)
Turbulence Analysis
2021-5-31
5 个评论
Amit
2021-6-5
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!