在MATLAB图上选择一个点并将标签准确地放在该点上

时间:2015-03-24 19:40:04

标签: image matlab matlab-figure matlab-guide

我在matlab中有一个图像,我提示用户选择该图像上的某些点。所以我使用getpts方法来做到这一点。所以它工作正常,但我只想表示用户用X点击图像的点。然而,X不在我点击的点上,而是在它的侧面。

任何人都知道如何让它死去?以下是我正在使用的代码和一些更明确地表示它的图片。

谢谢你

代码:

[x_Ls y_Ls] = getpts(handles.axes1)
handles.Ls = [x_Ls y_Ls]
setappdata(0,'Lsvalue',[x_Ls y_Ls])
text(x_Ls,y_Ls,'X' , 'FontSize', 16, 'FontWeight', 'Bold', 'Color',    'k','Parent',handles.axes1); 

Should be Picture

What it is

1 个答案:

答案 0 :(得分:2)

您的问题是,text包含" X"对齐,左下角为[x_Ls, y_Ls]。如果您将HorizontalAlignmentVerticalAlignment设置为"center",情况应该会有所改善。 但由于字体总是在"可见"周围定义某些边界。信,你真的很难得到" X"中心到达你想要的地方。

如果你想要" X"在定义的点上居中,只需使用plot而不是text应该更容易:

plot(x_Ls, y_Ls, 'x', 'MarkerSize', 10, 'MarkerEdgeColor', 'b', 'MarkerFaceColor', 'b')

应该在您点击的位置生成" X"。 您可能需要增加标记大小...