How do I write a code to rearrage the colors in an RGB color array?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Marisa Luallen
el 8 de Mzo. de 2021
Editada: Jorg Woehl
el 8 de Mzo. de 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 comentarios
Respuesta aceptada
Jorg Woehl
el 8 de Mzo. de 2021
Editada: Jorg Woehl
el 8 de Mzo. de 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 comentarios
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!