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

6 次查看(过去 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??

采纳的回答

Wayne King
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);
  4 个评论

请先登录,再进行评论。

更多回答(2 个)

Image Analyst
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:
  7 个评论
Image Analyst
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
priyanka 2014-3-29
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 个评论
Image Analyst
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);

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Image Processing and Computer Vision 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by