MATLAB使用数据光标时隐藏数据光标盒
问题描述:
我正在使用MATLAB来创建GUI。我有一个启用了datacursormode的图像。这工作正常,每次我点击一个新点添加。对于每个点,MATLAB都会显示一个包含坐标的框(或其他任何文本,我使用更新函数对其进行了修改)。但是我怎样才能删除这个文本框,我只想添加一个点,不应该显示额外的信息?MATLAB使用数据光标时隐藏数据光标盒
谢谢!
答
datacursormode on
用于启用图形对象上的数据提示显示。换句话说,你想隐藏的文本框。那么使用数据光标的理由是什么?
您是否正在使用数据光标的UpdateFcn
“添加像素”(您可能意思是更改像素颜色)?考虑使用ButtonDownFcn回拨函数。
function interactive_image(im)
fh = figure;
hImage = imshow(im);
set(hImage,'ButtonDownFcn',@myfunction)
end
function output_txt = myfunction(obj,eventdata,handles)
pos = get(gca,'CurrentPoint')
x = get(obj,'CData');
x(uint32(pos(1,2)),uint32(pos(1,1))) = 0;
set(obj,'CData',x)
end
UPDATE:
根据您的评论您更好地使用Image Processing Toolbox中可用IMPOINT功能。
除了盒子,它做我想要的:把点放在我的图像上,可以拖动和删除/删除。我可以使用ButtonDownFcn回调并按照您的说法注册CurrentPoint,但是接下来我将不得不为自己的拖放/点删除编写代码? – user1254962 2012-03-21 16:41:05
查看我的更新回答。 – yuk 2012-03-21 16:56:06
这似乎正是我需要的,谢谢!:) – user1254962 2012-03-21 17:08:28