-
大小: 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个文件信息
相关资源
- MATLAB图像处理能力提高与应用案例
- matlab-gui-test.m
- MATLAB-gui各种功能代码
- 图像腐蚀和图像膨胀Matlab代码
- 图像量化及MSE/SNR/PSNR计算Matlab代码
- Sobel算子图像边缘提取Matlab代码
- 基于matlab-GUI简易计算器的设计
- 基于matlab-GUI实时人脸检测系统
- 多种滤波器MATLAB-GUI
- 图像滤波Matlab代码
- 图像的灰度直方图计算Matlab代码一
- matlab-GUI 本人编写的matlab的GUI程序
- ImageProcess_ToolBox
- CBIR-matlab-GUI
- MatlabImageProcessing 遥感图像的读取
- Matlab-GUI 自编的matlab gui小程序。功能
- 图像降采样和升采样Matlab代码
评论
共有 条评论