Plot pixels from 2D boolean array

I have a 2D boolean array stored 0s and 1s where I want to plot a red pixel. For example, If the 2D boolean array has 1 for (20, 20) location, it should plot a red pixel at that location. Else, it is has 0, it should not plot the red pixel.
Can someone help me?

 Accepted Answer

% your array
A = randi(2,101)-1;
% the result;
R=255*ones(101);
G=255*(-A+1);
B=255*(-A+1);
res = cat(3,R,G,B);
% plot result
imshow(res)

4 Comments

shouldn't there be a loop to check each location of 2D Boolean array?
No need for a loop - this is vectorized code.
Great! It worked.
Now, It is plotting my image from the array. I need to rotate the axes by 135 deg CCW. How do I do that?
See the attachment. I need to rotate this by 135 deg CCW.
Stephan
Stephan on 30 Nov 2019
Edited: Stephan on 30 Nov 2019
If you have Image Processing Toolbox use imrotate. If not see FEX to download a tool.

Sign in to comment.

More Answers (2)

One more thing, I need to put this in a some time refresh loop, so it grows in size and back to normal size. Like pumping heart.

1 Comment

On File Exchange there are also tools to create gif animations. Maybe you want to use this.

Sign in to comment.

How can I also show the x & y axis and ticks and axis data points to plot along with this vectorized code?

Categories

Tags

Community Treasure Hunt

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

Start Hunting!