How do I write a code to rearrage the colors in an RGB color array?
5 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Marisa Luallen
il 8 Mar 2021
Modificato: Jorg Woehl
il 8 Mar 2021
I have this image and I need to change the order of the colors. I have the image uploaded into MATLAB, with the code:
image1 = imread('colors.png')
The value is 229x600x3.
0 Commenti
Risposta accettata
Jorg Woehl
il 8 Mar 2021
Modificato: Jorg Woehl
il 8 Mar 2021
The third dimension of your 229x600 image contains the rgb values for each pixel: image1(:,:,1) is the red channel, image1(:,:,2) is the green channel, and image1(:,:3) is the blue channel.
To change the order of colors, it therefore is sufficient to copy the red -> green, green -> blue, and blue -> red channel. This can be done by a succession of matrix reassignment operations, or even simpler by using
image1 = circshift(image1,1,3)
This circularly shifts the third dimension of image1 by 1 position, cycling through the colors each time it is executed.
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Image Processing Toolbox in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!