变化的图像属性使用MATLAB滑块

时间:2013-07-31 07:06:13

标签: matlab matlab-figure matlab-guide

看起来很奇怪,我没有使用滑块通过滑动来查看轴上的图像/图形。下面显示的代码是我的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是一个变量。我滑动滑块图像亮度变化的那一刻,但是当我运行代码滑块的初始点时,它将处于最左侧。但是对于上面的代码,滑块应该位于中心,如下所示

initial

But I'm expecting this when i run my code

如何设置该滑块的值(增加/减少亮度)?我该怎么做呢?

2 个答案:

答案 0 :(得分:0)

您可以使用例如:

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

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

但是前一行代码在执行时不会触发滑块的回调。

答案 1 :(得分:0)

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

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

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

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