在我的 GUI 中,我对图像执行了很多操作。包括crop
,flip
等resize
,下面的代码展示了一些这样的功能。在我的打开功能中,我从上一个窗口中获取了图像
function Pre_processing_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
fname = getappdata(0, 'fname');
axes(handles.axes1);
imshow(fname);
[path,name,ext,ver] = fileparts(fname);
handles.fname = strcat(name,ext);
[handles.queryx, handles.querymap] = imread(fname);
guidata(hObject, handles);
用于翻转
function Flip_H_Callback(hObject, eventdata, handles)
a = getimage(handles.axes1);
hflip = flipdim(a,2);
axes(handles.axes1);
imshow(hflip);
guidata(hObject, handles);
用于旋转
function rotate_Callback(hObject, eventdata, handles)
a = getimage(handles.axes1);
Ra = get(handles.angle, 'string');
Na = str2num(Ra);
rotate = imrotate(a,Na);
axes(handles.axes1);
imshow(rotate);
guidata(hObject, handles);
我只展示了 2 个函数,但我的 GUI 中有很多类似的函数。下图为原图
我按下的那一刻flip
,图像质量就会消失,如下所示
我使用的图像是 8 位深度和BMP
格式。