How do I write a code to rearrage the colors in an RGB color array?
2 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
Jorg Woehl
on 8 Mar 2021
Edited: Jorg Woehl
on 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 Comments
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!