1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
function pushbutton34_Callback(hObject, eventdata, handles)
Image=getappdata(gcbf,'Image')
Position=cell2mat(handles.GestMasque.Coord(get(handles.listbox2,'value')));
fig = figure;
b = uicontrol('Position',[100 5 50 40],'String','OK',...
'Callback','uiresume(gcbf)');
set(fig, 'KeyPressFcn', @(fig, evnt)keypress(b, evnt))
imagesc(Image);
axis image
caxis([getappdata(gcbf,'Seuilmin') getappdata(gcbf,'Seuilmax')])
h = drawpolygon('Position',Position);
setappdata(gcf,'pos',Position);
setappdata(gcf,'img',Image);
setappdata(gcf,'Smin',getappdata(gcbf,'Seuilmin'));
setappdata(gcf,'Smax',getappdata(gcbf,'Seuilmax'));
guidata(hObject, handles);
uiwait(gcf);
PosFinale=round(getappdata(gcf,'pos'));
delete(b)
delete(fig);
function keypress(b, evnt)
cla(b)
userdata = getappdata(gcf,'pos');
Image=getappdata(gcf,'img');
switch lower(evnt.Key)
case 'rightarrow'
userdata(:,1)=userdata(:,1)+1;
case 'leftarrow'
userdata(:,1)=userdata(:,1)-1;
case 'uparrow'
userdata(:,2)=userdata(:,2)-1;
case 'downarrow'
userdata(:,2)=userdata(:,2)+1;
otherwise
end
imagesc(Image);
axis image
caxis([getappdata(gcf,'Smin') getappdata(gcf,'Smax')])
h=drawpolygon('Position',userdata); |