Specular Reflections Removal in endoscopic image

4 vues (au cours des 30 derniers jours)
Quoc Anh Vu
Quoc Anh Vu le 12 Oct 2023
Commenté : Image Analyst le 4 Fév 2024
I am currently processing images of cervical endoscopy, with a primary focus on blood vessels on the surface. However, due to the non-polarized image acquisition system, specular reflections appear in the images. I have identified these points using the Sobel algorithm (as shown the image below in green). Now, I am wondering if there is a way to remove these specular reflection points and compensate for the pixels that are removed by replacing them with nearby pixels. Thank you so much.
  1 commentaire
Ridhima Chopra
Ridhima Chopra le 3 Fév 2024
Could you lemme know if u found the solution?
And how did u find the specular reflections?

Connectez-vous pour commenter.

Réponses (1)

Image Analyst
Image Analyst le 3 Fév 2024
Try thresholding, then us regionfill
Basically (untested):
% Get individual color channels:
[r, g, b] = imsplit(rgbImage);
% Convert to gray scale so we can find specular regions, which will be bright.
grayImage = rgb2gray(rgbImage);
% Threshold
mask = grayImage >= 245; % Adjust as necessary
% Do inpainting to fill the white regions with surrounding pixel values.
r = regionfill(r, mask);
g = regionfill(g, mask);
b = regionfill(b, mask);
% Rebuild new, fixed/repaired RGB image:
rgbRepaired = cat(3, r, g, b);
  3 commentaires
DGM
DGM le 4 Fév 2024
Then apply the same operations to whatever image you have. The only difference is that you don't need to split and concatenate the image channels.
  • read the image
  • derive a logical mask describing the specular reflections
  • apply regionfill
  • done
Image Analyst
Image Analyst le 4 Fév 2024
% Threshold
mask = grayImage >= 245; % Adjust as necessary
% Do inpainting to fill the white regions with surrounding pixel values.
grayImageRepaired = regionfill(grayImage, mask);

Connectez-vous pour commenter.

Catégories

En savoir plus sur Image Segmentation and Analysis dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by