RGB images are 3-D(i.e 3 , 2-D array for R,G,B ), can we extract these array seperatly?
9 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Wayne King
2014-3-29
编辑:Wayne King
2014-3-29
You just select each "page" of the matrix.
im = imread('ngc6543a.jpg');
Rim = im(:,:,1);
Gim = im(:,:,2);
Bim = im(:,:,3);
更多回答(2 个)
Image Analyst
2014-3-29
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 个评论
Image Analyst
2016-10-13
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
2014-3-29
1 个评论
Image Analyst
2021-3-27
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);
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!