intensity correction in images
조회 수: 19 (최근 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.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!