三、部分源代码

function varargout = Turbo(varargin)
% set(handles.pushbutton25,'String',round(10*pos)/10);
%TURBO M-file for Turbo.fig
% TURBO, by itself, creates a new TURBO or raises the existing
% singleton*.
%
% H = TURBO returns the handle to a new TURBO or the handle to
% the existing singleton*.
%
% TURBO('Property','Value',...) creates a new TURBO using the
% given property value pairs. Unrecognized properties are passed via
% varargin to Turbo_OpeningFcn. This calling syntax produces a
% warning when there is an existing singleton*.
%
% TURBO('CALLBACK') and TURBO('CALLBACK',hObject,...) call the
% local function named CALLBACK in TURBO.M with the given input
% arguments.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text_set to modify the response to help Turbo

% Last Modified by GUIDE v2.5 16-Oct-2021 15:33:05

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Turbo_OpeningFcn, ...
'gui_OutputFcn', @Turbo_OutputFcn, ...
'gui_LayoutFcn', [], ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT


% --- Executes just before Turbo is made visible.
function Turbo_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin unrecognized PropertyName/PropertyValue pairs from the
% command line (see VARARGIN)

% Choose default command line output for Turbo
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes Turbo wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = Turbo_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;


% --- Executes on button press in open.
function open_Callback(hObject, eventdata, handles)
% hObject handle to open (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
[FileName,PathName,FilterIndex]=uigetfile({'*.jpg';'*.bmp';'*.png';'*.gif'},'请选择文件');
if FilterIndex==1
data=imread([PathName,FileName]);
[widch,height,dim] = size(data);
set(handles.open_path,'string',[PathName,FileName]);
set(handles.pic_size,'UserData',[widch,height,dim]);
% set(handles.pic_size_tem,'UserData',[widch,height,dim]);
% set(handles.pic_size_backup,'UserData',[widch,height,dim]);
set(hObject,'UserData',data);
set(handles.Reset,'UserData',data);

str_jpg = dir([PathName '\*.jpg']); % 自动读取上一张图片、下一张图片
str_bmp = dir([PathName '\*.bmp']);
str_png = dir([PathName '\*.png']);
str_gif = dir([PathName '\*.gif']);
pic_str =[str_jpg;str_bmp;str_png;str_gif];
pic_cell = struct2cell(pic_str);
pic_name = pic_cell(1,:);
[~,pic_index] = ismember('lena.jpg',pic_name);

set(handles.pic_pre,'UserData',pic_name);
set(handles.pic_next,'UserData',pic_index);
set(handles.Help,'UserData',PathName);

imshow(data);
else

end


function open_path_Callback(hObject, eventdata, handles)
% hObject handle to open_path (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of open_path as text_set
% str2double(get(hObject,'String')) returns contents of open_path as a double


% --- Executes during object creation, after setting all properties.
function open_path_CreateFcn(hObject, eventdata, handles)
% hObject handle to open_path (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end


% --- Executes on button press in save.
function save_Callback(hObject, eventdata, handles)
% hObject handle to save (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
data=get(handles.open,'UserData');
[FileName,PathName,FilterIndex]=uiputfile({'*.jpg';'*.bmp';'*.png';},'保存文件','new_figure');
if FilterIndex ==1
set(handles.save_path,'string',[PathName,FileName]);
imwrite(data,[PathName,FileName]);
else

end


function save_path_Callback(hObject, eventdata, handles)
% hObject handle to save_path (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'String') returns contents of save_path as text_set
% str2double(get(hObject,'String')) returns contents of save_path as a double


% --- Executes during object creation, after setting all properties.
function save_path_CreateFcn(hObject, eventdata, handles)
% hObject handle to save_path (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end


% --- Executes on button press in Help.
function Help_Callback(hObject, eventdata, handles)
% hObject handle to Help (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
help_path = get(handles.Help,'UserData');
help_pdf = 'Turbo软件使用说明.pdf';

open([help_path,help_pdf]);

% --- Executes on button press in pic_pre.
function pic_pre_Callback(hObject, eventdata, handles)
% hObject handle to pic_pre (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
pic_path = get(handles.Help,'UserData');
pic_name = get(hObject,'UserData');
pic_index = get(handles.pic_next,'UserData');

if pic_index == 1
msgbox('第一张')
else
pic_index = pic_index - 1;
set(handles.pic_next,'UserData',pic_index);

data=imread([pic_path,pic_name{1,pic_index}]);
[widch,height,dim] = size(data);
set(handles.open_path,'string',[pic_path,pic_name{1,pic_index}]);
set(handles.pic_size,'UserData',[widch,height,dim]);
set(handles.pic_size_tem,'UserData',[widch,height,dim]);
set(handles.pic_size_backup,'UserData',[widch,height,dim]);
set(handles.open,'UserData',data);
set(handles.Reset,'UserData',data);
imshow(data);
end

四、运行结果

【图像处理】基于matlab GUI图像全局+局部美化【含Matlab源码 1461期】_matlab

五、matlab版本及参考文献

1 matlab版本

2014a

2 参考文献

[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.

[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.

[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.

[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.

[5]陈浩,方勇,朱大洲,王成,陈子龙.基于蚁群算法的玉米植株热红外图像边缘检测[J].农机化研究. 2015,37(06)