how to plot axes onto an image

19 views (last 30 days)
vega valentine
vega valentine on 11 Apr 2011
Commented: Tyler on 18 Dec 2016
Hi,
I have a binary image, a set of contour points, and the coordinate of center of gravity. I want to plot an axis with the origin (0,0) set to the center of gravity. And the axes should be in polar coordinate since I want to have the angle in which the contour points with maximum radius exists.
Can anyone help me with this problem? thanks before
Regards, Vga

Answers (2)

Sarah Wait Zaranek
Sarah Wait Zaranek on 21 Apr 2011
This should help you to start with the problem. Everything is centered at the origin (0,0) but that could be adjusted by changing the position values.
% generating random "image" data
a = rand(100,100);
% initial axis
h = axes('position',[0 0 1 1]);
colormap bone
%plotting image
f1 = imagesc(a);
% add axis
h2 = axes('position',[0 0 1 1]);
t = 0:.01:2*pi;
% make polar plot
f2 = polar(h2,t,sin(2*t).*cos(2*t),'r');
% removing background of polar plot - so image shows through
ph=findall(h2,'type','patch');
set(ph,'FaceColor','none')
  1 Comment
Tyler
Tyler on 18 Dec 2016
hi, your answer is really helpful! but i want to plot(scatter) some points over an image, in a new axis, but the background of the new axis is white, so i can't see the image, Can you help me with this problem? thank you !!!

Sign in to comment.


Philip
Philip on 8 Mar 2012
Just what I needed!

Community Treasure Hunt

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

Start Hunting!