## matlab image processing

on 24 Mar 2012

### Jan Simon (view profile)

How to merge the r,g and b components to get a single rgb image in matlab???

## Products

No products are associated with this question.

### Jan Simon (view profile)

on 24 Mar 2012
```r = rand(20, 30);
g = rand(20, 30);
b = rand(20, 30);
rgb = cat(3, r, g, b);
```

parul

### parul (view profile)

on 27 Mar 2012

Actually the thing is that we have r an b components of same dimension i.e. 148*114*3 but the g component is having 148*114 dimension.So,if we are adjusting its dimension,and then merging using the "cat" command,then we are getting a complete gray image.What to do in this case??

### Sivakumaran Chandrasekaran (view profile)

on 24 Mar 2012

hi jan, r = rand(20, 30); g = rand(20, 30); b = rand(20, 30); rgb = [r, g, b]; imshow(rgb)

` thats my code.. could you explain me whats the different between your code and mine. I am getting gray image as output. But,you are getting colored one. could you explain this technically. why i am not getting color image even though i concatenated those three basic colors.`

Regards, Siva

Bjorn Gustavsson

### Bjorn Gustavsson (view profile)

on 24 Mar 2012

If you get pure gray it might be because your R G and B images are identical or close to identical?

Jan Simon

### Jan Simon (view profile)

on 24 Mar 2012

[r,g,b] is equivalent to cat(2, r, g, b): It concatenates along the 2nd dimension. Try it with smaller values to keep the overview:
r=[1,2;3,4]; g=r+5; b=g+5;
disp([r,g,b])
disp(cat(3, r, g, b))
The concatenation along the 2nd dimension creates a 2D matrix of type double, which is displayed as grey scale image.

### Sivakumaran Chandrasekaran (view profile)

on 27 Mar 2012

Thanks Jan and Bjorn

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi