RGB channel extraction problem

7 次查看(过去 30 天)
I have a question. I have an image that is 1024*1024*3 but when I extract it using :
red=image(1,:,:);
green=image(:,1,:);
blue=image(:,:,1);
then size of red is 1*1024*3, green is 1024*1*3 and blue is 1024*1024. What is wrong with green and red channel why I am not getting a right result and how can I extract their channel?

采纳的回答

Geoff Hayes
Geoff Hayes 2014-8-28
编辑:Geoff Hayes 2014-8-28
chess - to extract the correct channel, you have to remember that it is the third dimension that indicates colour. So if img is your 1024x1024x3 image, then
red = img(:,:,1); % 1 for red
green = img(:,:,2); % 2 for green
blue = img(:,:,3); % 3 for blue
Remember that image is a built-in MATLAB function, and so is not a good name for a local variable.

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by