【问题标题】:WindowScrollWheelFcn with slider in Matlab GUIMatlab GUI中带有滑块的WindowScrollWheelFcn
【发布时间】:2015-10-03 15:37:56
【问题描述】:

我正在 Matlab 中制作一个 GUI,它可以滚动并显示大约 600 个医学图像。我有一个显示图像的轴,还有一个滚动条,当按下结束箭头时,滚动条会一次浏览一个图像。

我正在尝试弄清楚如何合并 WindowScrollWheelFcn,以便我可以使用鼠标上的滚动来更快地浏览图像。

这是我的代码:

function ct_slider_Callback(hObject, eventdata, handles)

set(gcf, 'WindowScrollWheelFcn', @wheel);
set(gcf, 'CurrentAxes', handles.ct_image_axes);
handles.currentSlice = round(get(handles.ct_slider, 'Value'));
imshow(handles.imageArray(:,:,handles.currentSlice));
text = sprintf('Slice number: %d', handles.currentSlice);
set(handles.ct_slice_number, 'String', text);
guidata(hObject, handles);

function wheel(hObject, callbackdata, handles)
    if callbackdata.VerticalScrollCount > 0
        handles.currentSlice = handles.currentSlice + 1;
    elseif callbackdata.VerticalScrollCount < 0
        handles.currentSlice = handles.currentSlice - 1;
    end
guidata(hObject,handles);

我不断收到错误消息:“使用 Image_GUI_new 时出错>wheel 输入参数不足。”

我没有在 Matlab 中使用 GUI 的丰富经验,因此我们将不胜感激。

【问题讨论】:

    标签: matlab user-interface image-processing mouseevent image-segmentation


    【解决方案1】:

    你已经很接近了!

    默认情况下,回调函数在定义时会分配 2 个输入参数:

    set(gcf, 'WindowScrollWheelFcn', @wheel);
    

    等价于

    set(gcf, 'WindowScrollWheelFcn', @(DummyA,DummyB) wheel);
    

    如果您需要添加一个输入参数,例如 handles 结构,您可以将所有输入变量(即 2 个强制加上您喜欢的任何变量)包装在一个元胞数组中,如下所示:

    set(gcf, 'WindowScrollWheelFcn', {@wheel,handles});
    

    因此函数 wheel 接受 2 个强制输入 + handles 结构。现在应该可以了。

    如果可以的话,重复使用imshow 在性能方面并不好,如果您要在ct_slider_Callback 中连续显示许多图像,您可能想要使用此技巧:

    1) 当显示第一张图片(这里是数字 1)时,分配一个句柄作为输出给imshow

    hShow = imshow(handles.imageArray(:,:,1));
    

    2) 然后在执行回调时,更新创建的hShow 句柄的cdata 属性,而不是再次调用imshow

    set(hShow,'cdata',handles.imageArray(:,:, handles.currentSlice)));
    

    您可能会看到图像显示更流畅...

    希望有帮助!

    【讨论】:

    • @Kali 这样有帮助吗?
    • 太棒了!玩得开心:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-25
    • 1970-01-01
    • 2016-02-11
    • 2022-01-01
    • 1970-01-01
    • 2016-03-08
    相关资源
    最近更新 更多