Generate the following image by defining image matrix:
Red Green Blue Yellow Green.
B(1:100,1:100,1:100,1:00,1:3)=0; imshow (B) B(1:50,1:50,1) =1; B(51:100,51:100,2)=1; imshow(B)
I am trying to get a 3x3 with the specified colors; Red Green Blue Yellow Green. It's not working, it gives error.
No products are associated with this question.
B(1:100,1:100,1:100,1:00,1:3)=0 tries to define a 5 dimensional array in which the fourth dimension is empty. 1:00 is empty. Perhaps you meant 1:100 .
RGB matrices are 3 dimensional.
You may wish to use zeros() to initialize the matrix.
Is this what you're looking for:
redChannel = zeros(100, 100, 'uint8'); greenChannel = zeros(100, 100, 'uint8'); blueChannel = zeros(100, 100, 'uint8'); redChannel(1:50,:) = 255; greenChannel(:, 1:50) = 255; blueChannel(51:100, 51:100) = 255; coloredImage = cat(3, redChannel, greenChannel, blueChannel); imshow(coloredImage)
If you are going to use 0, 1, 2, then use a 2 dimensional matrix rather than a 3D matrix, and fill each location with a number indicating the color number that should go there (like paint-by-numbers.) Then after imshow(), use colormap() to put in place a colormap you created that maps between the color number and the RGB value that should be associated with that color.
Can you please complete it to create the 3 X 3 image:
Red Yellow Green Green Blue
Cesar, you can see my solution and the modifications to it to do what you want should be straightforward. Just change the row and column ranges.
0 Comments