-
大小: 42.56MB文件類型: .zip金幣: 1下載: 0 次發布日期: 2023-06-16
- 語言: Matlab
- 標簽: imageprocess??MATLAB-GUI??
資源簡介
大三的數字圖像處理課程設計,基于matlab設計了一個GUI界面,能夠讀取圖片并處理,將檢測到的缺陷類型,大小與位置標注。
代碼片段和文件信息
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%主函數文件%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%請運行本程序%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%{
數字圖像處理課程設計
1602122第二組
學生:燕敬陽?曹恒鎮?楊丹
老師:李琳
-----------------------------------------------------------------------------------------
//作品概述:
本代碼主要功能是實現金屬表面三種缺陷的檢測、分類及測量,并使用GUI進行封裝以便于用戶使用。
該GUI可以導入電腦中的灰度圖片,之后進行處理,能確定缺陷的種類,將檢測到的缺陷標注在原圖上,
并能夠測量不同缺陷的大小(不同缺陷衡量標準不同)。
------------------------------------------------------------------------------------------
//重要函數簡介:
#pushbutton1_Callback(hobject?eventdatahandles):
按鍵1(即‘圖像處理‘按鍵)的回調函數,包含全部圖像處理算法
#pushbutton2_Callback(hobject?eventdatahandles):
按鍵2(即‘圖片導入‘按鍵)的回調函數,主要是圖片的導入
#Ga(thetanum):圖像的Garbor卷積核的初始化
#filterimage(a6Gaborfiter):Garbor濾波算法
#thres(image):灰度圖的最大熵閾值分割算法
#location():‘軋入氧化皮‘缺陷的定位及顯示
#houghtran():對于‘劃痕‘缺陷的霍夫圓檢測
#lbp(varargin):網上的‘局部二值模式‘特征提取算法
#svm.m:獨立m文件,用于所有金屬缺陷照片的LBP特征提取和SVM(支持向量機)監督學習算法的訓練與測試
--------------------------------------------------------------------------------------------
author:Faust.Cao
time:2018.11.1
%}
%%
function?varargout?=?app(varargin)
%GUI頁面主函數,MATLAB提供,無需修改
gui_Singleton?=?1;
gui_State?=?struct(‘gui_Name‘???????mfilename?...
???????????????????‘gui_Singleton‘??gui_Singleton?...
???????????????????‘gui_OpeningFcn‘?@app_OpeningFcn?...
???????????????????‘gui_OutputFcn‘??@app_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
%%
?
function?app_OpeningFcn(hobject?eventdata?handles?varargin)
%?GUI初始化函數
%修改設置背景
%modified?by:Faust.Cao
ha=axes(‘units‘‘normalized‘‘pos‘[0?0?1?1]);
?uistack(ha‘down‘);
?%設置程序的背景圖為back.jpg
?ii=imread(‘D:\matlab\matlab工程項目\design\back.jpg‘);
?image(ii);
?colormap?gray
?set(ha‘handlevisibility‘‘off‘‘visible‘‘off‘);
handles.output?=?hobject;
guidata(hobject?handles);
%%
function?varargout?=?app_OutputFcn(hobject?eventdata?handles)?
%?GUI輸出函數,MATLAB提供,無需修改
varargout{1}?=?handles.output;
%%
function?pushbutton1_Callback(hobject?eventdata?handles)
%?按鍵1(即‘圖像處理‘按鍵)的回調函數,包含全部圖像處理算法
global?a5;%全局變量
global?svmModel;%全局變量,從svm.m文件調用
axis?off;%去除axes坐標,完整顯示圖片
a6=a5;
a=str2double(get(handles.edit1‘string‘));%讀取用戶輸入的焦距
b=str2double(get(handles.edit2‘string‘));%讀取用戶輸入的物距
d=a/(b-a);%由高斯公式計算垂軸放大率
ma=max(max(a6));
mi=min(min(a6));
%對比度增強,將灰度映射為[0255]
for?ii=1:200?
????for?jj=1:200
????????a6(iijj)=255*double(a6(iijj)-mi)./double(ma-mi);
????end
end
%圖像濾波
ab=filterimage(a6);
%圖像最大熵閾值分割
ss=thres(ab);
ab1=im2bw(abss/255);
[BL]=bwboundaries(ab1);%二值圖邊緣坐標提取
[xy]=size(B);
mm=0;
%尋找最大提取區域
for?i=1:x
????ll=length(B{i});
????if?ll>mm
??????mm=ll;
????end
end
%判斷是否是‘軋入氧化皮‘缺陷
if?mm<120?
?set(handles.text8‘string‘‘缺陷是軋入氧化皮‘);%在text8文本框處輸出缺陷類型
?[xcyc]=findcenter(Bab);%求各提取區域的質心位置
?axes(handles.axes2);%設置在ax
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-11-04?18:41??金屬表面缺陷分類與測量系統\
?????文件?????????655??2018-11-02?13:51??金屬表面缺陷分類與測量系統\Ga.m
?????目錄???????????0??2018-11-02?15:06??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:09??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:13??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:44??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:45??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:45??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:46??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:47??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:48??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:48??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:49??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:50??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:50??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:14??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:51??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:51??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:51??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:52??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:52??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:53??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:53??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:53??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:54??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:54??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:14??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:55??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:55??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:55??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
?????文件???????41078??2013-04-13?15:55??金屬表面缺陷分類與測量系統\NEU?surface?defect?databa
............此處省略896個文件信息
評論
共有 條評論