资源简介
织物疵点检测和识别系统。采用2种方法,有gui界面,支持实际纺织物的检测
代码片段和文件信息
%本程序可以完成布匹疵点检测且本程序是批处理程序。
function varargout = FabricGui(varargin)
gui_Singleton = 1;
gui_State = struct(‘gui_Name‘ mfilename ...
‘gui_Singleton‘ gui_Singleton ...
‘gui_OpeningFcn‘ @FabricGui_OpeningFcn ...
‘gui_OutputFcn‘ @FabricGui_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
% --- Executes just before FabricGui is made visible.
function FabricGui_OpeningFcn(hobject eventdata handles varargin)
handles.output = hobject;
% Update handles structure
guidata(hobject handles);
% --- Outputs from this function are returned to the command line.
function varargout = FabricGui_OutputFcn(hobject eventdata handles)
varargout{1} = handles.output;
function hedit_detect_Callback(hobject eventdata handles)
% --- Executes during object creation after setting all properties.
function hedit_detect_CreateFcn(hobject eventdata handles)
if ispc && isequal(get(hobject‘BackgroundColor‘) get(0‘defaultUicontrolBackgroundColor‘))
set(hobject‘BackgroundColor‘‘white‘);
end
% --- Executes on button press in ptnRun.
function ptnRun_Callback(hobject eventdata handles)
%批处理
srcDir=uigetdir(‘Choose source directory.‘); %获得选择的文件夹
cd(srcDir);
allnames=struct2cell(dir(‘*.bmp‘)); %只处理8位的bmp文件
[klen]=size(allnames); %获得bmp文件的个数
%得到设置的参数
P=str2num(get(handles.hedit_zhouqi‘string‘)); %获得织物纹理周期
T1=str2num(get(handles.hedit_yuzhifenge‘string‘)); %分割阈值
T2=str2num(get(handles.hedit_yuzhihou‘string‘)); %后处理阈值
numwu=0;numyou=0;
for ii=1:len
%逐次取出文件
cd(srcDir);
name=allnames{1ii};
I=imread(name); %读取文件
axes(handles.hyuanshiaxes); %显示图像
imshow(I);
cd(‘..‘);
I0=I;
%预处理
I=double(I0); %数据类型的转换
[MN]=size(I);%得到待检测图像的大小
J=junzhicaiyang(IMNP); %调用均值下采样函数
J=uint8(J);
%双线性插值,恢复原来的图像大小
I1=imresize(JP‘bilinear‘); %双线性插值,恢复原来图像的大小。
%进行方差下采样,用于增强图像疵点信息
I1=double(I1);
J1=fangchacaiyang(I1MNP); %调用方差下采样函数
J1=uint8(J1);
%双线性插值,恢复原来图像的大小。
I=imresize(J1P‘bilinear‘);
%进行二值化及其后处理
T=Otsu(I);
%解决了利用大津法不能分辨是否含有疵点的缺陷的缺点,统计发现无疵点图像otsu得到阈值均小于8
if T<=T1
T=T1+1;
end
I=im2bw(IT/255); %调用自己编写的Otsu大津法进行二值化操作
Ibw=imfill(I‘holes‘); %填充空洞,特别是对于油污破洞等区域类缺陷来说是必要的
%去掉小面积的值
Ibw=bwareaopen(IbwT2); %这也是一个可调节的参数
axes(handles.hyuchuliaxes);
imshow(Ibw);
[Lm]=bwlabel(Ibw8);
if m>=1
numyou=numyou+1;
set(handles.hedit_detect‘string‘‘含疵点‘)
else
numwu=numwu+1;
set(handles.hedit_detect‘string‘‘无疵点‘)
end
end
%统计各种疵点的个数
set(handles.hedit_wu‘string‘num2str(numwu));
set(handles.hedit_you‘string‘num2str(numyou));
msgbox(‘织物疵点检测与识别执行完毕!‘)
% --- Executes on button press in ptnExit.
function ptnExit_Callback(hobject eventdata handles)
% hObj
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10845 2011-04-21 15:55 织物疵点检测和识别系统\FabricGui.fig
文件 5187 2011-04-21 15:53 织物疵点检测和识别系统\FabricGui.m
文件 475 2010-05-23 21:05 织物疵点检测和识别系统\fangchacaiyang.m
文件 515 2010-05-17 22:09 织物疵点检测和识别系统\junzhicaiyang.m
文件 1060 2010-11-17 20:33 织物疵点检测和识别系统\Otsu.m
文件 78 2011-04-21 16:13 织物疵点检测和识别系统\参数设置.txt
文件 66358 2010-11-17 21:04 织物疵点检测和识别系统\样本1\1.bmp
文件 66358 2010-11-15 16:37 织物疵点检测和识别系统\样本1\10.bmp
文件 66358 2010-05-16 15:50 织物疵点检测和识别系统\样本1\11.bmp
文件 66358 2010-11-17 21:08 织物疵点检测和识别系统\样本1\2.bmp
文件 66358 2010-05-20 19:54 织物疵点检测和识别系统\样本1\3.bmp
文件 66358 2010-05-16 15:46 织物疵点检测和识别系统\样本1\4.bmp
文件 66358 2010-05-15 10:31 织物疵点检测和识别系统\样本1\5.bmp
文件 66358 2010-05-17 10:11 织物疵点检测和识别系统\样本1\6.bmp
文件 66358 2010-05-15 10:35 织物疵点检测和识别系统\样本1\7.bmp
文件 66358 2010-05-15 15:55 织物疵点检测和识别系统\样本1\8.bmp
文件 66358 2010-11-16 21:09 织物疵点检测和识别系统\样本1\9.bmp
文件 308278 2010-11-28 18:22 织物疵点检测和识别系统\样本2\1.bmp
文件 308278 2010-11-28 12:57 织物疵点检测和识别系统\样本2\10.bmp
文件 308278 2010-11-28 18:16 织物疵点检测和识别系统\样本2\11.bmp
文件 308278 2010-11-28 12:30 织物疵点检测和识别系统\样本2\12.bmp
文件 308278 2010-11-28 13:42 织物疵点检测和识别系统\样本2\13.bmp
文件 308278 2010-11-28 18:15 织物疵点检测和识别系统\样本2\14.bmp
文件 308278 2010-11-28 13:35 织物疵点检测和识别系统\样本2\15.bmp
文件 308278 2010-11-28 13:36 织物疵点检测和识别系统\样本2\16.bmp
文件 308278 2010-11-28 13:33 织物疵点检测和识别系统\样本2\2.bmp
文件 308278 2010-11-28 18:22 织物疵点检测和识别系统\样本2\3.bmp
文件 308278 2010-11-28 18:23 织物疵点检测和识别系统\样本2\4.bmp
文件 308278 2010-11-28 13:37 织物疵点检测和识别系统\样本2\5.bmp
文件 308278 2010-11-28 18:18 织物疵点检测和识别系统\样本2\6.bmp
............此处省略9个文件信息
相关资源
- SAO星表数据
- 粒子群算法路径规划动画演示
- 新型的配电网潮流计算的matlab源码
- 雷达交叉定位精度分析
- 磁流变减震器模型
- D2D的自适应链路仿真
- matlab实现的读取视频和音频
- matlab平台DCT算法压缩视频
- Softmax 函数处理
- 《精通Matlab数字图像处理与识别》(
- 5阶WENO有限差分法求解Sod型激波管问题
- foa 果蝇优化算法matlab程序
- CA元胞自动机源代码
- 应用条件随机场CRF 知识分割图像
- PSOGSA_v3
- 发动机悬置系统解耦率、固有频率以
- G-S算法matlab程序源代码
- DATCOM弹道计算工具
- matlab实现节点定位的三边定位算法
- CLAHE的matlab实现算法
- chan算法的源代码
- calculateuserposition 用MATLAB编写求解伪距
- ELM算法进行遥感图像分类
-
3电平光伏并网逆变器matlab/simuli
nk仿 - matlab量化择时模型回测
- 求解四步相移法的光栅相位的matlab程
- 多目标跟踪时的逻辑航迹起始算法
- 级联H桥三相七电平matlab仿真
- matlab实现加权最小二乘拟合
- MATLAB实现协同过滤算法
评论
共有 条评论