我在 MATLAB 中创建了一个图像编辑器窗口,其中包括各种操作,包括亮度、对比度、裁剪、旋转等。在这个 GUI 中,每个操作都有自己的函数回调。
我的问题是将一个功能与另一个功能联系起来。如果我裁剪图像,那么如果我改变亮度,我当前的代码会改变原始图像的亮度而不是裁剪图像。同样,首先我如果改变亮度,然后如果我裁剪,我的代码将裁剪原始图像而不是增亮图像。
下面的代码是改变亮度。
function slider2_Callback(hObject, eventdata, handles)
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);
下面的代码是裁剪
function crop_Callback(hObject, eventdata, handles)
fname = getappdata(0, 'fname');
[a, map] = imread(fname);
x = ind2rgb(a, map);
new = imcrop(x);
axes(handles.axes1);
imshow(new);
假设首先说如果我裁剪图像,然后下一步如果我稍后在上面编辑的图像上进行一些其他操作更改裁剪图像的亮度,我如何将一个操作与另一个操作联系起来?