Image Grey to Color

조회 수: 1 (최근 30일)
Ammar Taha
Ammar Taha 2020년 7월 12일
댓글: Rena Berman 2020년 7월 22일
Hi there, I am trying to perform certain task on the image:
In which I should divide it into three equal parts, then extract the RGB planes seperately and fuse all of them in a one color image:
img = imread('image.jpg');
[h, w] = size(img);
h_one = h / 3;
B = imcrop(img,[1, 1, w, h_one]);
G = imcrop(img,[1, 1*h_one, w, h_one]);
R = imcrop(img,[1, 2*h_one, w, h_one]);
colorImg(:,:,1) = R;
colorImg(:,:,2) = G;
colorImg(:,:,3) = B;
imshow(colorImg)
but the grader of the course doesn't accept it and tells me: Variable B must be of size [341 400]. It is currently of size [342 400], and I don't know to to handle it.
The result image:
  댓글 수: 1
Rena Berman
Rena Berman 2020년 7월 22일
(Answers Dev) Restored edit

댓글을 달려면 로그인하십시오.

답변 (1개)

Walter Roberson
Walter Roberson 2020년 7월 12일
B = imcrop(img,[1, 1, w, h_one]);
What is the first row number that will be extracted when you do that? What is the last row number that will be extracted when you do that?
G = imcrop(img,[1, 1*h_one, w, h_one]);
What is the first row number that will be extracted when you do that? What is the last row number that will be extracted when you do that?
Is the black border extracted above the top image the same height as the black border extracted above the middle image?
Is the black border extracted below the bottom image the same height as the black border extracted below the middle image?

Community Treasure Hunt

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

Start Hunting!

Translated by