【发布时间】:2013-05-11 13:46:52
【问题描述】:
我有许多图像要标记一定数量的点。 (对象跟踪)
我正在使用impoint 在图像上制作点,然后以逻辑方式将它们相互连接起来。到目前为止,一切都很好。接下来,我点击下一步(在我使用 GUIDE 开发的 MATLAB GUI 上),新图像加载到轴中并且信息丢失(点)。
- 如何为下一张图片保留绘制的
impoint? - 如何确保当我移动
impoint时,绘制的线也会移动?
我仍然需要解决的是:
我已经在使用addNewPositionCallback 来更新点的位置。编写时的回调:addNewPositionCallback(H, @fnc); 它发出类似fnc(pos) 的函数调用
我的问题是这个回调没有提供句柄。
因此,如果没有句柄信息,我无法处理代码中的正确元素。到目前为止,我已经实现了它,我已经为需要在图像上标记的固定数量的 18 个点编写了 18 个 One-liner 函数。这些函数调用相同的函数updatestructure(position, 'point_name', handles),该函数在创建导入点后立即调用以在图像上绘制它们之间的链接。但在这里我也没有关于句柄的信息。这是我尝试过的:
pointname = impoint(gca,[]);
setcolor(h,'y');
position = getPosition(h);
updatestructure(position, 'pointname', handles);
addNewPositionCallback(h, @movepointname)
因此,当调用更新结构时,情节可以正常工作。我可以看到我想要什么。但是当我移动点函数movepointname() 时,问题就开始了。
function movepointname (smart_pos)
updateStruct (smart_pos, 'pointname');
end
这肯定会产生错误,因为未传输句柄信息。我尝试vargin 来定义当设置较少的参数调用时它应该做什么。因为我仍然需要某个地方的把手。
谢谢。
【问题讨论】:
标签: image matlab plot matlab-guide axes