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)
Afficher commentaires plus anciens
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??
0 commentaires
Réponse acceptée
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
Plus de réponses (2)
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:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/174682/image.jpeg)
7 commentaires
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.
priyanka
le 29 Mar 2014
1 commentaire
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);
Voir également
Catégories
En savoir plus sur Image Processing and Computer Vision dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!