【问题标题】:How can I display different images on different axes in the same GUI in MATLAB?如何在 MATLAB 的同一个 GUI 中的不同轴上显示不同的图像?
【发布时间】:2013-03-21 05:07:36
【问题描述】:

我正在使用 MATLAB R2012a 开发用于手动医学图像分割的 GUI。特别是,我希望这些区域能够训练用于自动脑组织分类的分类器。

我设计的 GUI 包含 2 个轴,分别带有标签“figureImage”和“figureVOI”。在第一个中,我想显示 3D MRI 扫描的单个切片,而在另一个中,我想显示与该切片相关联的蒙版。我允许用户使用滚动条在切片之间移动。

我使用 3D 矩阵来表示图像 ('image'),并使用 3D 矩阵来表示蒙版 ('voi'),它们都在句柄结构中。我在加载 GUI 时用零初始化“voi”矩阵。

我在用户点击滚动条时应用的代码如下:

% update the number of the actual slice
handles.actualSlice = round(get(handles.sliceSelector, 'Value'));
% update the image and the mask
axes(handles.figureImage)
imshow(handles.image(:, :, handles.actualSlice));
axes(handles.figureVOI)
imshow(handles.voi(:, :, handles.actualSlice));

但是,当我点击滚动条时,GUI 只是滚动到大约 70 度,然后 GUI 停止更新轴。如果我关闭窗口并尝试再次运行 GUI,MATLAB 会显示系统错误。

我想知道我做错了什么,以及是否有其他方法可以做我需要做的事情。非常感谢! :)

【问题讨论】:

  • 无法真正理解这里发生了什么。但是,作为提醒,您应该重置cdata,而不是使用新的imshow 进行更新回调。您也应该复制并粘贴错误。

标签: matlab 3d axes figures


【解决方案1】:

这是一个相当简单的问题。您可能有不同的轴名称和位于不同位置的轴。然后根据您要选择使用哪个轴作为轴,您可以将图像路由到相应的轴,您可以同时选择两者。希望这可以帮助。祝你好运。

【讨论】:

    猜你喜欢
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 2016-10-31
    • 2012-10-10
    • 2012-06-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    相关资源
    最近更新 更多