text on image position
8 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Dear all,
I have created a simple GUI that shows a anatomical MRI volume. All works ok except one thing. I would like to insert some text informations on the image in the same (relative) position, for example in the upper left corner of the image. For this aim, I used the text command putting the text I want to see in the (x,y) coordinates of the image, that is inserted in a axes object.
The problem is that the position of the text changes when the resolution of the loaded image changes and it is not always in the same relative position (respect to the image).
What I have to do? To change axes or text properties?
Thanks a lot
Domenico
4 Commenti
Mohammad Sami
il 26 Mag 2020
Starting in R2020a, annotations created with the annotation function are supported in App Designer figures. To create an annotation, call the annotation function, specifying the UI figure as the first input argument.
The annotations are displayed using relative positions, so they will remain in the same place.
Risposte (2)
Mohammad Sami
il 26 Mag 2020
What if you used the limits of your axes and then create a relative x and y position.
axes(handles.axes1);
imagesc(v(:, :, z));
xl = xlim(handles.axes1);
yl = ylim(handles.axes1);
rx = 0.5; %relative x position
ry = 0.5; %relative y position
x = xl(1) + rx*(xl(2)-xl(1));
y = yl(1) + ry*(yl(2)-yl(1));
%text(x,y,'text to write',properties...) ;
3 Commenti
Rik
il 27 Mag 2020
If it works, feel free to accept this answer.
Just out of curiosity: did you also see my answer?
Rik
il 26 Mag 2020
You can set the Unit property to Normalized. Note that this uses normal axis coordinates, so the y-axis is flipped.
%get an example image
defimage = pow2(get(0,'DefaultImageCData'),47);
IM = bitshift(defimage,-37);IM = fix(IM);
IM = bitand(IM,31);IM = IM/max(IM(:));
imagesc(IM);
for x=linspace(0.1,0.9,4)
for y=linspace(0.1,0.9,4)
text(x,y,sprintf('text at (%.1f,%.1f)',x,y),'Units','Normalized') ;
end
end
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!