【问题标题】:varying image properties Using MATLAB slider使用 MATLAB 滑块改变图像属性
【发布时间】:2013-07-31 15:33:59
【问题描述】:

看起来很奇怪,我没有使用滑块通过滑动来查看轴上的图像/图形。下面显示的代码是我的 m 文件的一部分。

function slider2_Callback(hObject, eventdata, handles)
% hObject    handle to slider2 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
fname = getappdata(0, 'fname');
[a, map] = imread(fname);
x = ind2rgb(a, map);
b = get(handles.slider2,'value');
j = imadjust(x,[],[],b);
    axes(handles.axes1);
    imshow(j);

上面代码中的b 是一个变量。当我滑动滑块时,图像亮度会发生变化,但首先当我运行代码滑块时,滑块的初始点将位于最左侧。但是对于上面的代码滑块应该在中心,如下所示

如何为该滑块设置值(以增加/减少亮度)?我该怎么办?

【问题讨论】:

    标签: matlab matlab-figure matlab-guide


    【解决方案1】:

    如果您使用 GUIDE:您可以在 OpeningFcn 中设置值

    如果您不使用 GUIDE:您可以在创建滑块时设置该值

    假设,您的滑块的名称(或标签)是“slider1”:

    mean_slider = get(handles.slider1,'Max')/2;
    set(handles.slider1, 'Value', mean_slider )
    

    【讨论】:

    • 我用的是GUIDE,我应该用你上面的代码来打开函数吗?
    • 如果您想为滑块设置初始值-> 是的,您应该在 _OpeningFcn(...) 中执行此操作。在调用 guidata(hObject, handles); 之前执行此操作!
    【解决方案2】:

    您可以使用例如:

    set(handles.slider2,'value',50)
    

    这允许您设置滑块的值(并使其等于 50)。您还可以在创建滑块时指定滑块的值,如果我没记错的话,请使用属性检查器。

    但是上一行代码在执行时并没有触发滑块的回调。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-21
      • 2022-01-15
      • 1970-01-01
      相关资源
      最近更新 更多