商务服务
【瑕疵检测】基于matlab GUI OTSU织物疵点检测【含Matlab源码 860期】
2024-12-21 12:13

⛳️座右铭:行百里者,半于九十。
更多Matlab图像处理仿真内容点击👇
①Matlab图像处理(进阶版
②付费专栏Matlab图像处理(初级版

【瑕疵检测】基于matlab GUI OTSU织物疵点检测【含Matlab源码 860期】

⛳️关注CSDN海神之光,更多资源等你来

大津法(OTSU)是一种确定图像二值化分割阈值的算法,由日本学者大津于1979年提出。从大津法的原理上来讲,该方法又称作最大类间方差法,因为按照大津法求得的阈值进行图像二值化分割后,前景与背景图像的类间方差最大。
它被认为是图像分割中阈值选取的最佳算法,计算简单,不受图像亮度和对比度的影响,因此在数字图像处理上得到了广泛的应用。它是按图像的灰度特性,将图像分成背景和前景两部分。因方差是灰度分布均匀性的一种度量,背景和前景之间的类间方差越大,说明构成图像的两部分的差别越大,当部分前景错分为背景或部分背景错分为前景都会导致两部分差别变小。因此,使类间方差最大的分割意味着错分概率最小。
应用:是求图像全局阈值的最佳方法,应用不言而喻,适用于大部分需要求图像全局阈值的场合。
优点:计算简单快速,不受图像亮度和对比度的影响。
缺点:对图像噪声敏感;只能针对单一目标分割;当目标和背景大小比例悬殊、类间方差函数可能呈现双峰或者多峰,这个时候效果不好。

文中将图像预处理与边缘检测相结合对瓶盖瑕疵进行检测, 先使用直方图规定化的方法对图像做出修正与增强, 再利用中值滤波的方法消除图像孤立的噪声点;Canny算子快速分辨出瓶盖瑕疵, 再利用采用Otsu阈值方法求取自适应阈值自动选择并提取瑕疵。

1 图像预处理
在特征值提取之前, 必须对图像进行预处理。在实验中使用的灰度图像。应用直方图规定化和中值滤波器对图像降噪、增强。

1.1 直方图规定化
在之前的许多研究成果中, 将直方图均衡化作为图像增强的主要方法。但是图像一般比较灰暗, 它的灰度直方图全都集中在低灰度区, 低灰度频率很高把这幅图片均衡化后, 相对较低灰度的像素会被均衡到高灰度区, 图像会产生高亮和失真。所以本文放弃直方图规则化而选用直方图规定化就是为了避免出现这种现象。直方图规定化是使原图像灰度直方图变成规定形状的直方图而对图像做修正的增强方法。它是对直方图均衡化处理的一种有效地扩展, 而直方图均衡化处理只是直方图均衡化的一个特例。用直方图规定化对图片增强。断经实验效果。
在对图像进行预处理后, 图像的对比度明显上升, 并且没有高亮和失真, 有利于特征值的提取。

1.2 图像消噪
在图像采集和直方图规定化过程中难免会产出不必要地噪声, 因此须对图像进行消噪处理。本文采用了比较普遍的中值滤波处理方法。

  1. 把图像中的像素按灰度值阈值T分为两类Q1和Q2。Q1由0~S的像素组成, Q2由S+1~M组成, M为像素的灰度级数。
  2. 设Q1和Q2各自的平均灰度值为u1和u2, 图像总的平均灰度值为u;Q1和Q2占图像中的比例为w1和w2。

%本程序可以完成布匹疵点检测且本程序是批处理程序。
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文件
[k,len]=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{1,ii};
I=imread(name); %读取文件
axes(handles.hyuanshiaxes); %显示图像
imshow(I);
cd(‘…’);
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);
% — Executes on button press in ptnExit.
function ptnExit_Callback(hObject, eventdata, handles)
% hObject handle to ptnExit (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
delete(handles.MainFig);

function hedit_zhouqi_Callback(hObject, eventdata, handles)

% — Executes during object creation, after setting all properties.
function hedit_zhouqi_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,‘BackgroundColor’), get(0,‘defaultUicontrolBackgroundColor’))
set(hObject,‘BackgroundColor’,‘white’);
end

function hedit_yuzhifenge_Callback(hObject, eventdata, handles)

% — Executes during object creation, after setting all properties.
function hedit_yuzhifenge_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,‘BackgroundColor’), get(0,‘defaultUicontrolBackgroundColor’))
set(hObject,‘BackgroundColor’,‘white’);
end

function hedit_yuzhihou_Callback(hObject, eventdata, handles)

% — Executes during object creation, after setting all properties.
function hedit_yuzhihou_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,‘BackgroundColor’), get(0,‘defaultUicontrolBackgroundColor’))
set(hObject,‘BackgroundColor’,‘white’);
end

function hedit_you_Callback(hObject, eventdata, handles)

% — Executes during object creation, after setting all properties.
function hedit_you_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,‘BackgroundColor’), get(0,‘defaultUicontrolBackgroundColor’))
set(hObject,‘BackgroundColor’,‘white’);
end

function hedit_wu_Callback(hObject, eventdata, handles)

% — Executes during object creation, after setting all properties.
function hedit_wu_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,‘BackgroundColor’), get(0,‘defaultUicontrolBackgroundColor’))
set(hObject,‘BackgroundColor’,‘white’);
end
function J=junzhicaiyang(I,M,N,a)
k=1;h=1;temp=0;
%均值下采样,用于削弱图像周期纹理
for i=1🅰️M-a+1
for j=1🅰️N-a+1
%每一个小块的均值作为新的图像像素值
temp=0;
for m=i:1:i+a-1
for n=j:1:j+a-1
temp=temp+I(m,n);
end
end
J(h,k)=temp/(a*a); %计算均值,作为新的图像像素值
k=k+1;
end

1 matlab版本
2014a

2 参考文献
[1]李仁忠,杨曼,俱寒,景军锋,李鹏飞.基于二维Otsu算法的织物疵点检测[J].毛纺科技. 2017,45(10)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

🍅 仿真咨询
1 各类智能优化算法改进及应用

生产调度、经济调度、装配线调度、充电优化、车间调度、发车优化、水库调度、三维装箱、物流选址、货位优化、公交排班优化、充电桩布局优化、车间布局优化、集装箱船配载优化、水泵组合优化、解医疗资源分配优化、设施布局优化、可视域基站和无人机选址优化

2 机器学习和深度学习方面
卷积神经网络(CNN)、LSTM、支持向量机(SVM)、最小二乘支持向量机(LSSVM)、极限学习机(ELM)、核极限学习机(KELM)、BP、RBF、宽度学习、DBN、RF、RBF、DELM、XGBOOST、TCN实现风电预测、光伏预测、电池寿命预测、辐射源识别、交通流预测、负荷预测、股价预测、PM2.5浓度预测、电池健康状态预测、水体光学参数反演、NLOS信号识别、地铁停车精准预测、变压器故障诊断

3 图像处理方面
图像识别、图像分割、图像检测、图像隐藏、图像配准、图像拼接、图像融合、图像增强、图像压缩感知

4 路径规划方面
旅行商问题(TSP)、车辆路径问题(VRP、MVRP、CVRP、VRPTW等)、无人机三维路径规划、无人机协同、无人机编队、机器人路径规划、栅格地图路径规划、多式联运运输问题、车辆协同无人机路径规划、天线线性阵列分布优化、车间布局优化

5 无人机应用方面
无人机路径规划、无人机控制、无人机编队、无人机协同、无人机任务分配

6 无线传感器定位及布局方面
传感器部署优化、通信协议优化、路由优化、目标定位优化、Dv-Hop定位优化、Leach协议优化、WSN覆盖优化、组播优化、RSSI定位优化

7 信号处理方面
信号识别、信号加密、信号去噪、信号增强、雷达信号处理、信号水印嵌入提取、肌电信号、脑电信号、信号配时优化

8 电力系统方面
微电网优化、无功优化、配电网重构、储能配置

9 元胞自动机方面
交通流 人群疏散 病毒扩散 晶体生长

    以上就是本篇文章【【瑕疵检测】基于matlab GUI OTSU织物疵点检测【含Matlab源码 860期】】的全部内容了,欢迎阅览 ! 文章地址:http://keair.bhha.com.cn/news/4762.html 
     文章      相关文章      动态      同类文章      热门文章      栏目首页      网站地图      返回首页 康宝晨移动站 http://keair.bhha.com.cn/mobile/ , 查看更多   
最新文章
十堰空调维修|十堰空调加氟|十堰空调维修电话0719-7017199
十堰空调维修中心【电话0719-7017199】主营:十堰空调维修,十堰空调加氟,服务好价格低,各区均有分点,专业十堰空调维修加氟人员随叫随到,欢迎咨询报修。
这群青年真提气!专注自己的事 就能干成事
  这群青年真提气!  4月15日,全球首个地月空间大尺度三星星座建成的消息公布。让人心头一热的,不只是117万公里星间链路打
斗破苍穹中丹塔未来三巨头会是谁?曹颖有望占据一席,宋清可捡漏
在斗破苍穹中,与魂殿齐名的丹塔,在斗气大陆上拥有非常高的地位,被所有炼药师视为圣地,有着无与伦比的号召力。丹塔外部的三位
手机的RAM和ROM分别指什么手机rom「手机的RAM和ROM分别指什么」
关于眼光和格局的诗句有:1、莫愁前路无知己,天下谁人不识君——唐代高适《别董大二首·其一》译文:不要担心前路茫茫没有知己
太阳能电磁阀嗡嗡响,太阳能上水时电磁阀一声巨响冒烟是怎么回事手机一直震动不停怎么回事「太阳能电磁阀嗡嗡响,太阳能上水时电磁阀一声巨响冒烟是怎么回事」
冒烟就很有可能是哪部分的短路烧坏了。可能是绝缘线也有可能是电磁阀的漆包线你说呢...为什么不要呢,太阳能真是太方便了。找到
delphi源程序实现屏幕截图_手机截图的隐藏神技能,还不快get起来total手机「delphi源程序实现屏幕截图_手机截图的隐藏神技能,还不快get起来」
上次分享了用Total Control用脚本实现手机截图的便捷方法,是不是很好用呢?Total Control是我用过很长一段时间的群
七彩虹 SL500 480G 性能评测
固态硬盘的出现革新了PC行业,突破了机械硬盘的性能限制。随着价格日益亲民,SSD得以快速普及。在这样的背景下,要在众多品牌中
2025北京公众考古季启动 26项活动领略古迹魅力
4月10日,2025北京公众考古季在房山区周口店北京人遗址博物馆拉开帷幕。北京青年报记者了解到,本届公众考古季活动贯穿全年,策
原创苹果手机和华为手机哪个好?哪些机型值得推荐,分析之后不纠结!苹果手机和华为手机哪个好「原创苹果手机和华为手机哪个好?哪些机型值得推荐,分析之后不纠结!」
华为和苹果都是智能手机圈的老牌科技企业,近些年都打造了不少经典的产品,那么,华为和苹果手机相比,谁更好呢?这其实,取决于
手机上显示的wifi和wlan有什么区别?手机wlan是什么意思「手机上显示的wifi和wlan有什么区别?」
wlan和wi-fi的概念wlan(wireless local area networks),即无线局域网。它是利用射频技术构建的局域网,设备可以通过无线技术
相关文章