MATLAB で 1 つのイメージ エディター ウィンドウを作成しました。これには、明るさ、コントラスト、トリミング、回転などのさまざまな操作が含まれています。この 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);
最初に画像をトリミングした場合、次のステップでトリミングした画像の明るさを後で変更した場合、編集した画像の上で他の操作を行うとします。ある操作を別の操作にリンクするにはどうすればよいですか?