MATLAB Answers


How can I make a random RGB array of either White Cells or Green Cells (or any two colours)?

Asked by Obi Carwood on 6 May 2019
Latest activity Commented on by Obi Carwood on 6 May 2019
Hey, I wish to create a random array of size R x C, and wish to have that array consist of either green or white cells.
My thoughts were to take the script for making a random Black and White image:
BnW = rand(R,C) < p;
Where p is some number between 0 and 1.
Then taking this image and somehow replacing all cells that have a value of 1 (black) and replace with a value of 255 in the second channel (green channel) in a RGB image. But a problem occurs with switching from a logical array to a uint8 array.
Any ideas?


Sign in to comment.

1 Answer

Answer by Stephen Cobeldick on 6 May 2019
Edited by Stephen Cobeldick on 6 May 2019
 Accepted Answer

This generates MATLAB standard 0-1 values (multiply by 255 and use uint8 if required):
>> R = 5;
>> C = 7;
>> X = rand(R,C)<0.4;
>> I = cat(3,X,ones(R,C),X);
>> image(I)

  1 Comment

Sign in to comment.