2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 【疾病分类】基于matlab GUI模糊逻辑分类叶病严重程度分级系统【含Matlab源码 194期】

【疾病分类】基于matlab GUI模糊逻辑分类叶病严重程度分级系统【含Matlab源码 194期】

时间:2023-01-05 10:27:46

相关推荐

【疾病分类】基于matlab GUI模糊逻辑分类叶病严重程度分级系统【含Matlab源码 194期】

一、模糊逻辑(Fuzzy Logic)简介

理论知识参考:模糊逻辑(Fuzzy Logic)

二、部分源代码

function varargout = LeafDiseaseGradingSystemGUI(varargin)% LeafDiseaseGradingSystemGUI MATLAB code for LeafDiseaseGradingSystemGUI.fig%LeafDiseaseGradingSystemGUI, by itself, creates a new LeafDiseaseGradingSystemGUI or raises the existing%singleton*.%%H = LeafDiseaseGradingSystemGUI returns the handle to a new LeafDiseaseGradingSystemGUI or the handle to%the existing singleton*.%%LeafDiseaseGradingSystemGUI('CALLBACK',hObject,eventData,handles,...) calls the local%function named CALLBACK in LeafDiseaseGradingSystemGUI.M with the given input arguments.%%LeafDiseaseGradingSystemGUI('Property','Value',...) creates a new LeafDiseaseGradingSystemGUI or raises the%existing singleton*. Starting from the left, property value pairs are%applied to the LeafDiseaseGradingSystemGUI before LeafDiseaseGradingSystemGUI_OpeningFcn gets called. An%unrecognized property name or invalid value makes property application%stop. All inputs are passed to LeafDiseaseGradingSystemGUI_OpeningFcn via varargin.%%*See LeafDiseaseGradingSystemGUI Options on GUIDE's Tools menu. Choose "LeafDiseaseGradingSystemGUI allows only one%instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help LeafDiseaseGradingSystemGUI% Last Modified by GUIDE v2.5 20-Jan- 14:49:28% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @LeafDiseaseGradingSystemGUI_OpeningFcn, ...'gui_OutputFcn', @LeafDiseaseGradingSystemGUI_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before LeafDiseaseGradingSystemGUI is made visible.function LeafDiseaseGradingSystemGUI_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 command line arguments to LeafDiseaseGradingSystemGUI (see VARARGIN)set(gcf, 'units','normalized','outerposition',[0 0 1 1]);Disease_Grading = readfis('Disease_Grading.fis');handles.Disease_Grading = Disease_Grading;guidata(hObject,handles);% Choose default command line output for LeafDiseaseGradingSystemGUIhandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes LeafDiseaseGradingSystemGUI wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line.function varargout = LeafDiseaseGradingSystemGUI_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 structurevarargout{1} = handles.output;% --- Executes on button press in select_image.function select_image_Callback(hObject, eventdata, handles)% hObject handle to select_image (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)[File_Name, Path_Name] = uigetfile('PATHNAME');I = imread([Path_Name,File_Name]);imshow([Path_Name,File_Name], 'Parent', handles.axes1); title('Original Leaf Image', 'Parent', handles.axes1);%# store queryname, version 1handles.I = I;guidata(hObject,handles);% --- Executes on button press in segmentation.function segmentation_Callback(hObject, eventdata, handles)% hObject handle to segmentation (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)I = handles.I;% Creating color transformation from sRGB to L*a*b % cform = makecform('srgb2lab'); lab_I = applycform(I,cform);ab = double(lab_I(:,:,2:3));nrows = size(ab,1); ncols = size(ab,2);ab = reshape(ab,nrows*ncols,2); % No of clusters to be created with five iterations % nColors =5; [cluster_idx cluster_center] = kmeans(ab,nColors,'EmptyAction','singleton','distance','sqEuclidean','start',[128,128;128,128;128,128;128,128;128,128]); pixel_labels = reshape(cluster_idx,nrows,ncols); segmented_images = cell(5);rgb_label = repmat(pixel_labels,[1 1 3]);for k = 1:nColors color = I; color(rgb_label ~= k) = 0; segmented_images{k} = color; end% displaying different show_clusters objects %I_cluster_1 = segmented_images{1};I_cluster_2 = segmented_images{2};I_cluster_3 = segmented_images{3};I_cluster_4 = segmented_images{4};I_cluster_5 = segmented_images{5};imshow(I_cluster_1,'Parent', handles.axes2); title('Cluster 1');handles.I_cluster_1 = I_cluster_1;handles.I_cluster_2 = I_cluster_2;handles.I_cluster_3 = I_cluster_3;handles.I_cluster_4 = I_cluster_4;handles.I_cluster_5 = I_cluster_5;guidata(hObject,handles);% --- Executes on button press in disease_grade.function disease_grade_Callback(hObject, eventdata, handles)% hObject handle to disease_grade (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)Disease_Grading = handles.Disease_Grading;white_pixels_I = handles.white_pixels_I ;white_pixels_I_selected = handles.white_pixels_I_selected ;percentage_infected = (white_pixels_I_selected/white_pixels_I)*100;grade = evalfis(percentage_infected,Disease_Grading);figure();plot(percentage_infected,grade,'g*');legend('Percent - Grade of Disease');title('Disease Grade Classification Using Fuzzy Logic');xlabel('Percentage');ylabel('Disease Grade');% --- Executes on button press in binary_original.function binary_original_Callback(hObject, eventdata, handles)% hObject handle to binary_original (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)I = handles.I;BW_I = im2bw(I,0.17);white_pixels_I = sum(BW_I(:) == 1);se = strel('disk',1);closeBW = imclose(BW_I,se);imshow(closeBW,'Parent', handles.axes2); title('Binary of Original Image');handles.white_pixels_I = white_pixels_I;guidata(hObject,handles);

三、运行结果

四、matlab版本及参考文献

1 matlab版本

a

2 参考文献

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

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

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。