RGB channel extraction problem

2 次查看(过去 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 个)

类别

Help CenterFile Exchange 中查找有关 Image Processing Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by