【瑕疵检测】基于matlab Gabor滤波布匹瑕疵检测【含Matlab源码 407期】
一、Gabor滤波布匹瑕疵检测简介
1 Gabor滤波器
2 Gabor函数结合代码分析:
二、部分源代码
function varargout = bupi(varargin)
% BUPI MATLAB code for bupi.fig
% BUPI, by itself, creates a new BUPI or raises the existing
% singleton*.
%
% H = BUPI returns the handle to a new BUPI or the handle to
% the existing singleton*.
%
% BUPI('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in BUPI.M with the given input arguments.
%
% BUPI('Property','Value',...) creates a new BUPI or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before bupi_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to bupi_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES% Edit the above text to modify the response to help bupi% Last Modified by GUIDE v2.5 28-May-2015 22:11:59% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @bupi_OpeningFcn, ...'gui_OutputFcn', @bupi_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 bupi is made visible.
function bupi_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 bupi (see VARARGIN)
axes(handles.axes1);
imshow([255]);
axes(handles.axes2);
imshow([255]);
axes(handles.axes3);
imshow([255]);
axes(handles.axes4);
imshow([255]);
axes(handles.axes5);
imshow([255]);
axes(handles.axes6);
imshow([255]);
% Choose default command line output for bupi
handles.output = hObject;% Update handles structure
guidata(hObject, handles);% UIWAIT makes bupi wait for user response (see UIRESUME)
% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line.
function varargout = bupi_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 structure
varargout{1} = handles.output;% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
global tu
axes(handles.axes1)
[filename,pathname]=uigetfile({ ...'*.*','All Files(*.*)';},...'选择文件');
%
if isequal([filename,pathname],[0,0])return
else%读取图片pic = fullfile(pathname,filename);b = imread(pic);imshow(b);%上面是打开图片的步骤,这一句是显示图片tu=b;title('原始图像');%handle.axes1=b;
end
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles)
global tu;
tu2 = gabor2(tu,0);
axes(handles.axes2);
imshow(tu2);
title('0度滤波结果');tu2 = gabor2(tu,pi/4);
axes(handles.axes3);
imshow(tu2);
title('pi/4度滤波结果');tu2 = gabor2(tu,pi/2);
axes(handles.axes4);
imshow(tu2);
title('pi/2度滤波结果');tu2 = gabor2(tu,pi/4*3);
axes(handles.axes5);
imshow(tu2);
title('pi/4*3度滤波结果');
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
global tu;
P = 5;
T1 =8;
T2 = 100;
I = tu;I0=I;%预处理I=double(I0); %数据类型的转换[M,N]=size(I);%得到待检测图像的大小J=junzhicaiyang(I,M,N,P); %调用均值下采样函数J=uint8(J);%双线性插值,恢复原来的图像大小I1=imresize(J,P,'bilinear'); %双线性插值,恢复原来图像的大小。%进行方差下采样,用于增强图像疵点信息I1=double(I1);J1=fangchacaiyang(I1,M,N,P); %调用方差下采样函数J1=uint8(J1);%双线性插值,恢复原来图像的大小。I=imresize(J1,P,'bilinear');%进行二值化及其后处理T=Otsu(I);%解决了利用大津法不能分辨是否含有疵点的缺陷的缺点,统计发现无疵点图像otsu得到阈值均小于8if T<=T1T=T1+1;end
三、运行结果
四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]刘成龙.精通MATLAB图像处理[M].清华大学出版社,2015.
【瑕疵检测】基于matlab Gabor滤波布匹瑕疵检测【含Matlab源码 407期】相关推荐
- 【瑕疵检测】基于matlab GUI Gabor滤波布匹瑕疵检测【含Matlab源码 407期】
⛄一.Gabor滤波布匹瑕疵检测简介 1 Gabor滤波器 2 Gabor函数结合代码分析: ⛄二.部分源代码 function varargout = bupi(varargin) % BUPI M ...
- 【图像融合】基于matlab导向滤波图像融合【含Matlab源码 1959期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[图像融合]基于matlab导向滤波图像融合[含Matlab源码 1959期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...
- 【Matlab人脸识别】人脸实时检测与跟踪【含GUI源码 673期】
一.代码运行视频(哔哩哔哩) [Matlab人脸识别]人脸实时检测与跟踪[含GUI源码 673期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟逸凡,柳益君 ...
- 【Matlab水果识别】苹果质量检测及分级系统(带面板)【含GUI源码 1613期】
一.代码运行视频(哔哩哔哩) [Matlab水果识别]苹果质量检测及分级系统(带面板)[含GUI源码 1613期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1 ...
- 【Matlab生物电信号】生物电信号仿真【含GUI源码 684期】
一.代码运行视频(哔哩哔哩) [Matlab生物电信号]生物电信号仿真[含GUI源码 684期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]董兵,超于毅,李 ...
- 【Matlab语音分析】语音信号分析【含GUI源码 1718期】
一.代码运行视频(哔哩哔哩) [Matlab语音分析]语音信号分析[含GUI源码 1718期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊,郑铁 ...
- 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】
一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...
- 【Matlab人脸识别】BP神经网络人脸识别(含识别率)【含GUI源码 891期】
一.代码运行视频(哔哩哔哩) [Matlab人脸识别]BP神经网络人脸识别(含识别率)[含GUI源码 891期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...
- 【Matlab人脸识别】形态学教室人数统计(带面板)【含GUI源码 1703期】
一.代码运行视频(哔哩哔哩) [Matlab人脸识别]形态学教室人数统计(带面板)[含GUI源码 1703期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟 ...
- 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】
一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...
最新文章
- Marshal.Copy 之 startIndex 参数的含义
- linux tomcat连接mysql步骤_linux系统下tomcat的安装步骤
- MAC OS X 1.1 El Capitan安装方法与步骤
- IntelliJ IDEA for Mac工件包(artifact)中 Web facet resources 的模块名称有误,如何修改?
- 《机器人爱好者(第2辑)》——部署机械手或末端执行器
- c++ primer plus 复合类型之字符串、string、结构体、共用体、指针
- Atitit 会话层和表示层的异同
- 杭电HDUacm2098
- 趣拼图——项目演示及代码
- 【20保研】华东师范大学计算机科学与软件工程学院第五届“高可信软件工程优秀大学生夏令营”活动通知...
- c语言1076素数,九度OJ 1076:N的阶乘 题解
- 易班php,易班轻应用开发:PHP版
- 腾讯游戏一口气发布44款产品内容;爱立信力争7月底完成收购Vonage | 美通企业日报...
- 码农深耕 - 35岁的程序员何去何从?
- 售前工程师与售后工程师
- 用xlwings直接调用excel打开xlsx文件
- 【不就是java设计模式吗】设计模式七大原则,用代码对比方式,化抽象为具体,实打实的教会你
- 水果店的问题和风险,开水果店会遇到什么问题
- Python去除PDF文件水印(PyMuPDF包)
- 鸿蒙除开踏青时,鸿蒙初开踏青时 转载
热门文章
- HDU1427 速算24点
- 解题报告(LeetCode):Max Points on a Line
- 设计模式详解(链接)
- [RESTful web services读书笔记] 接口设计中维持XML和JSON表述的兼容性
- c++/cli 之数据库操作
- Jquery .ajax方法分析(一)
- Prefer rather than 喜欢 Prefer to
- 190703每日一句
- Atitit json数据操作法 目录 1. 2. 常用json函数类型四大类型	 crud判断	1 1.1. 2.1. 创建json	2	1 1.2. 2.2. 选择与读取	3读取数据读取key
- Atitit 界面接口技术 cli gui nui cui管理 attilax总结 1. NUI	1 1.1. 问:什么是“自然用户界面”?	1 2. Cli到gui到nui CUI	2 2.1.