Plot pixels from 2D boolean array

47 views (last 30 days)
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

Stephan
Stephan on 30 Nov 2019
% 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
Radhika Kulkarni
Radhika Kulkarni on 30 Nov 2019
Edited: Radhika Kulkarni on 30 Nov 2019
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)

Radhika Kulkarni
Radhika Kulkarni on 30 Nov 2019
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
Stephan
Stephan on 30 Nov 2019
On File Exchange there are also tools to create gif animations. Maybe you want to use this.

Sign in to comment.


Radhika Kulkarni
Radhika Kulkarni on 2 Dec 2019
How can I also show the x & y axis and ticks and axis data points to plot along with this vectorized code?

Tags

Community Treasure Hunt

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

Start Hunting!