资源简介

织物疵点检测和识别系统。采用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个文件信息

评论

共有 条评论