RGB images are 3-D(i.e 3 , 2-D array for R,G,B ), can we extract these array seperatly?

3 vues (au cours des 30 derniers jours)
I want to convert the 3-D image array into 1-D array, so if i got R,G & B array seperatly then these can be converted into 2-D array easily.. so how to get these 3 (R,G,B) array??

Réponse acceptée

Wayne King
Wayne King le 29 Mar 2014
Modifié(e) : Wayne King le 29 Mar 2014
You just select each "page" of the matrix.
im = imread('ngc6543a.jpg');
Rim = im(:,:,1);
Gim = im(:,:,2);
Bim = im(:,:,3);
  4 commentaires
priyanka
priyanka le 29 Mar 2014
Thank you,, its working .:)

Connectez-vous pour commenter.

Plus de réponses (2)

Image Analyst
Image Analyst le 29 Mar 2014
Extract each color channel
% Extract the individual red, green, and blue color channels.
redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);
as shown in my attached demo that takes RGB histograms of every image in your folder.
Screenshot:
  7 commentaires
Image Analyst
Image Analyst le 13 Oct 2016
That doesn't look right. If the image is 980 by 1280 by 4 color channels, and you've read in all the data, then your reshape would not work since your new desired size does not contain all the pixels. I suggest you start your own discussion thread (rather than keep bugging priyanka), and read this and attach your actual image.
Jeykishan
Jeykishan le 16 Oct 2022
Thank you for the code. Very informative and usefl for me.

Connectez-vous pour commenter.


priyanka
priyanka le 29 Mar 2014
When i am using imtool() function and checking the pixel information,pixel value is not matched with the pixel value which is obtained by redChannel = rgbImage(:, :, 1); greenChannel = rgbImage(:, :, 2); blueChannel = rgbImage(:, :, 3);
  1 commentaire
Image Analyst
Image Analyst le 27 Mar 2021
Attach your image. There's a good possibility you're cheking the value using the x,y from the cursor in imtool as redChannel(x,y), which would be incorrect. Remember y is row, not x, so it needs to be redChannel(y, x), NOT redChannel(x, y);

Connectez-vous pour commenter.

Catégories

En savoir plus sur Image Processing and Computer Vision dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by