Normalizing pixel colours of an RGB image

16 vues (au cours des 30 derniers jours)
Riccardo Rossi
Riccardo Rossi le 27 Mai 2023
Commenté : Image Analyst le 27 Mai 2023
Hello,
I need to normalize an RGB image by replacing each channel (RED, GREEN and BLUE) of each pixel with the following values:
RED=RED/(RED+GREEN+BLUE)
GREEN=GREEN/(RED+GREEN+BLUE)
BLUE=BLUE/(RED+GREEN+BLUE)
How can I do it? Thank you so much!
  3 commentaires
Riccardo Rossi
Riccardo Rossi le 27 Mai 2023
Hi, I am reading the image into Matlab as a 3888x2592x3 uint8.
Image Analyst
Image Analyst le 27 Mai 2023
If that Answer solves your original question, then could you please click the "Accept this answer" link to award the answerer with "reputation points" for their efforts in helping you? They'd appreciate it. Thanks in advance. 🙂 Note: you can only accept one answer (so pick the best one) but you can click the "Vote" icon for as many Answers as you want. Voting for an answer will also award reputation points.

Connectez-vous pour commenter.

Réponse acceptée

DGM
DGM le 27 Mai 2023
inpict = imread('peppers.png'); % uint8
inpict = im2double(inpict); % unit-scale float
outpict = inpict./sum(inpict,3); % all at once
imshow(outpict) % done

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by