web-dev-qa-db-fra.com

Comment appliquer CLAHE sur des images couleur RVB

CLAHE est une égalisation d'histogramme adaptative à contraste limité et une source en C peut être trouvée à http://tog.acm.org/resources/GraphicsGems/gemsiv/clahe.c

Jusqu'à présent, je n'ai vu que quelques exemples/tutoriels sur l'application de CLAHE sur des images en niveaux de gris, est-il possible d'appliquer CLAHE sur des images en couleur (telles que des images de canaux RGB 3)? Si oui, comment?

16
Mickey Shine

La conversion de RVB en LAB (L pour la légèreté et a et b pour les adversaires de couleur vert – rouge et bleu – jaune) fera le travail. Appliquez CLAHE à l'image convertie au format LAB uniquement au composant Luminosité et reconvertissez l'image en RVB. Voici l'extrait.

bgr = cv2.imread(image_path)

lab = cv2.cvtColor(bgr, cv2.COLOR_BGR2LAB)

lab_planes = cv2.split(lab)

clahe = cv2.createCLAHE(clipLimit=2.0,tileGridSize=(gridsize,gridsize))

lab_planes[0] = clahe.apply(lab_planes[0])

lab = cv2.merge(lab_planes)

bgr = cv2.cvtColor(lab, cv2.COLOR_LAB2BGR)

bgr est l'image RVB finale obtenue après application de CLAHE.

31
Nikhil V M