How to Join 3 Channel R G B into 1 color image after decomposition (wavedec2) and inverse decomposition

2 views (last 30 days)
Please HELP ME using command cat(3, r, g, b) not working

Answers (1)

Prateekshya
Prateekshya on 24 Oct 2024
Hello Helmi,
The cat(3, r, g, b) command in MATLAB is used to concatenate three 2D matrices along the third dimension to create a 3D matrix representing an RGB image. This is typically used when you have separate 2D matrices for the red, green, and blue channels of an image, and you want to combine them into a single RGB image.
If you are experiencing issues with this command, here are some common troubleshooting steps and an example to help you understand how it should be used:
  • Dimension Mismatch: Ensure that the r, g, and b matrices have the same dimensions. They must be the same size to concatenate them along the third dimension.
  • Data Type: Ensure the data type is consistent across all channels. Typically, image data should be of type uint8, uint16, or double, depending on your application.
  • Matrix Initialization: If your matrices are not initialized properly, cat will not work as expected. Ensure that they are correctly populated with the pixel values.
Here is a simple example of how to use cat(3, r, g, b):
% Create example red, green, and blue channels
rows = 100; % Number of rows
cols = 100; % Number of columns
% Initialize each channel with some data
r = uint8(255 * ones(rows, cols)); % Red channel, full intensity
g = uint8(zeros(rows, cols)); % Green channel, no intensity
b = uint8(zeros(rows, cols)); % Blue channel, no intensity
% Concatenate along the third dimension to form an RGB image
rgbImage = cat(3, r, g, b);
% Display the image
imshow(rgbImage);
title('Red Image');
Troubleshooting Steps:
  • Check Dimensions: Use size(r), size(g), and size(b) to verify that all matrices are the same size.
  • Check Data Types: Use class(r), class(g), and class(b) to ensure they are of the same type.
  • Error Messages: If MATLAB provides an error message, it often gives a clue about what is wrong (e.g., dimension mismatch).
I hope this helps!

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!