MATLAB Answers

Plot pixels from 2D boolean array

36 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?

  1 Comment

Radhika Kulkarni
Radhika Kulkarni on 30 Nov 2019
2D Boolean Array is size 101x101

Sign in to comment.

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

Show 1 older comment
Stephan
Stephan on 30 Nov 2019
No need for a loop - this is vectorized code.
Radhika Kulkarni
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
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?

  0 Comments

Sign in to comment.

Tags


Translated by