How do I write a code to rearrage the colors in an RGB color array?

3 ビュー (過去 30 日間)
Marisa Luallen
Marisa Luallen 2021 年 3 月 8 日
編集済み: Jorg Woehl 2021 年 3 月 8 日
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.

採用された回答

Jorg Woehl
Jorg Woehl 2021 年 3 月 8 日
編集済み: Jorg Woehl 2021 年 3 月 8 日
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 件)

カテゴリ

Help Center および File ExchangeImage Processing Toolbox についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by