what is the difference between these two types of rgb matlab code ?
1 回表示 (過去 30 日間)
古いコメントを表示
namita chandrakar
2014 年 11 月 18 日
コメント済み: namita chandrakar
2014 年 11 月 22 日
i have a 3D color image , when i use a matlab code as below
x=imread('....');
R=x(:,:,1); % red
G=I(:,:,2); % green
B=I(:,:,3); %blue
figure, imshow (R);
it display grayscale image. and if i use the code given below
% Red channel only
im=imread('....');
im_red = im;
im_green = im;
im_blue = im;
im_red(:,:,2) = 0;
im_red(:,:,3) = 0;
figure, imshow(im_red);
it display red color image.
i need help in undestanding difference between these codes ?
0 件のコメント
採用された回答
Ken Atwell
2014 年 11 月 18 日
In the first case, R is not a 3-D image, but a 2-D image, which MATLAB will display as grayscale. You created R as 2-D when you indexed in the red-only portion of the images in your statement:
>> R=x(:,:,1); % red
In the second case, im_red is a 3-D image, It begins as identical to 'im', but then you set both the green and blue planes to zeros with:
>> im_red(:,:,2) = 0;
>> im_red(:,:,3) = 0;
Look at the dimensions of your matrices in the Variable window as you execute these command one-by-one, and I believe you will be able to follow along with what is happening.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Image Processing Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!