我有许多图像要标记有一定数量的点。(对象跟踪)我impoint
用来在图像上制作点,然后以逻辑方式将它们相互连接起来。到目前为止,一切都很好。接下来,我点击下一步(在我使用 GUIDE 开发的 MATLAB GUI 上),新图像加载到轴中并且信息丢失(点)。
- 如何保留
impoint
下一张图像的绘图? - 如何确保当我移动 时
impoint
,绘制的线也会移动?
我仍然需要解决的是:
我已经在使用addNewPositionCallback
来更新点的位置。编写时的回调:addNewPositionCallback(H, @fnc);
它发出一个函数调用,例如fnc(pos)
我的问题是这个回调没有提供句柄。
因此,如果没有句柄信息,我无法解决代码中的正确元素。到目前为止,我已经实现了它,我已经为需要在图像上标记的固定数量的 18 个点编写了 18 个单线函数。这些函数调用相同的函数,该函数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
定义当设置较少的参数调用时它应该做什么。因为我仍然需要某个地方的把手。
谢谢你。