get upper and lower limit from imcontrast
조회 수: 4 (최근 30일)
이전 댓글 표시
I'm using imcontrast to adjust the histogram of one image, once I'm satisfied with the result, I would like to apply the same transformation to a set of images. I'm using multiple callbacks so the Idea is to get the limits pass it on to the next callback and use imadjust to do the operation. here is my code so far
if true
function adjust_contrast_Callback(hObject, eventdata, handles)
axes(handles.axes1);
h = imshow(handles.I);
dbh = imcontrast(handles.figure1);
set(dbh, 'CloseRequestFcn', @(s,e)getValues(s))
waitfor(dbh);
I = get(h,'CData');
handles.I = I;
imshow(handles.I);
end
%the callback function for when the user closes the imcontrast window
function getValues(dbh)
window_min = str2double(get(findobj(dbh, 'tag', 'window min edit'), 'String'));
window_max = str2double(get(findobj(dbh, 'tag', 'window max edit'), 'String'));
contrast = [window_min window_max];
handles.contrast = contrast;
I'm able to get the values but I can't close the imcontrast window anymore, I tried close() didn't work... anyreason why would this happen?
thank you!
댓글 수: 0
채택된 답변
Prakhar Jain
2018년 11월 15일
Hi Mohamed,
To close all open figures, use the command
close all
Figures with the 'HandleVisibility' property set to 'off' will not be closed with "close all". To close these figures, use the command
delete(findall(0));
To close all open Simulink models, use the command
bdclose all
If you have a GUI that opens plot windows and you would like to close all plots without closing the GUI at the same time, then you can use the following code:
% Delete all Figures with an empty FileName property
delete(findall(groot, 'Type', 'figure', 'FileName', []));
I hope this should help.
Thanks.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Computer Vision with Simulink에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!