资源简介
基于机器视觉的零件缺陷检测,主要是对热轧钢缺陷的检测。
代码片段和文件信息
%%%与inspectionoflwb相比,将检测程序集成到一块了,并与2相比,缩减了检测区域,确定了矩形小区域。
%%%%先判断长条形异常点,如果有,累加个数,如果超过某数,则有缺陷,否则,判断该点周围有无凹坑缺陷的可能(周围异常点个数多于某个数目)
%%%单个图像检测程序
%%%优化还在进行中……
%%%比6对裁剪图像左右进行了扩展,只是演示了效果,没有考虑优化和时间 啊啊
%%%%对最顶行和最低行8行进行了处理啊啊啊
function [caijianxxx3x4]=inspection10oflwb(imagethrethre2)
%image=double(image);
[mn]=size(image);
tic;
%x(1:m1:n)=0;%x(1:m1:n)=255;%%%%注意此处不能是x=255;这样只是使第一个元素为255了啊啊啊啊
x=zeros(mn);
%temp1(1:m)=0;%%%%第一个点的位置
%temp2(1:m)=0;%%%%第二个点的位置
%dis(1:m)=0;%%%%两个点之间的距离
temp1=zeros(1m);
temp2=zeros(1m);
%dis=zeros(1m);
%meanofcolumn1=0;
%meanofcolumn2=0;
%temp(2)=0;
tic;
%%%查找第一个点
for kk=4:n-3 %%%(注意:这儿从4开始,意味着后面程序几个地方也从4开始,如35行for循环)
%if((abs(image(1kk-1)-image(1kk+1))>50)&&(abs(image(1kk-1)+image(1kk-2)+image(1kk-3)-image(1kk+1)-image(1kk+2)-image(1kk+3))>150)&&(abs(image(1kk-1)+image(1kk-2)-image(1kk+1)-image(1kk+2))>100))
if(((image(1kk+1)-image(1kk-1))>thre)&&((image(1kk+1)+image(1kk+2)+image(1kk+3)-image(1kk-1)-image(1kk-2)-image(1kk-3))>(3*thre))&&((image(1kk+1)+image(1kk+2)-image(1kk-1)-image(1kk-2))>(2*thre)))
temp1(1)=kk;
break;
end
end
%x(1kk)=0;
%%%查找第二个点inspection10oflwb(
for tt=n-3:-1:4
if(abs(image(1tt-1)+image(1tt-2)+image(1tt-3)-image(1tt+1)-image(1tt+2)-image(1tt+3))>(3*thre))
temp2(1)=tt;
break;
end
end
%x(1tt)=0;
%dis(1)=tt-kk;
%%%判断两个点是否重合,重合说明圆钢跳动跳出图像范围(或者另外一条边在没有检测的六个像素点内),视野内只有一个边缘,并且得出是哪个边,然后后续处理
%%%%查找其余行的两个边缘点
for ii=2:m
%%%第一个点
%if(abs(image(iikk-1)-image(iikk+1))<50)
if(image(iikk+1)-image(iikk-1)
if(image(iikk)-image(iikk-2)>thre)
kk=kk-1;
else
if(image(iikk+2)-image(iikk)>thre)
kk=kk+1;
else
if(image(iikk-1)-image(iikk-3)>thre)
kk=kk-2;
else
if(image(iikk+3)-image(iikk+1)>thre)
kk=kk+2;
end
end
end
end
end
temp1(ii)=kk;
%%%第二个点
if(image(iitt-1)-image(iitt+1)
if(image(iitt-2)-image(iitt)>thre)
tt=tt-1;
else
if(image(iitt)-image(iitt+2)>thre)
tt=tt+1;
else
if(image(iitt-3)-image(iitt-1)>thre)
tt=tt-2;
else
if(image(iitt+1)-image(iitt+3)>thre)
tt=tt+2;
end
end
end
end
end
temp2(ii)=tt;
% dis(ii)=temp2(ii)-temp1(ii);
%x(iikk)=0;
%x(iitt)=0;
end
dis=temp2-temp1;%%%%优化的代码
%%%%以下为将检测出的图像进行拉直处理:以第一个点为基准,先让每一行第一个点在同一列上,然后平移第二个边缘点,然后以最左侧的第二个边缘点为准,图像分
%%%%割,切去背景,得到拉直的无背景图像
for ii=1:m
d=temp1(ii)-temp1(1);
for jj=temp1(1):(temp1(1)+dis(ii)-1)%jj=4:n-3
x(iijj)=image(iijj+d);
end
end
%w
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-05-01 00:22 热轧钢缺陷检测\
文件 525366 2014-04-27 14:58 热轧钢缺陷检测\1100000200.BMP
文件 525366 2014-04-27 14:58 热轧钢缺陷检测\1100000356.BMP
文件 525366 2014-04-27 14:58 热轧钢缺陷检测\1100004532.BMP
文件 525366 2014-04-27 14:58 热轧钢缺陷检测\1300004702可能工人敲的.BMP
文件 525366 2014-04-27 14:58 热轧钢缺陷检测\1800013422.BMP
文件 525366 2014-04-27 14:58 热轧钢缺陷检测\1800013528.BMP
文件 525366 2014-04-27 14:58 热轧钢缺陷检测\2000001263.BMP
文件 525366 2014-04-27 14:58 热轧钢缺陷检测\2000001904.BMP
文件 2098230 2014-04-27 14:57 热轧钢缺陷检测\900013248.BMP
文件 13969 2014-04-27 14:58 热轧钢缺陷检测\rezhagangquexianjiance.m
- 上一篇:用于图像处理的三类边缘保护滤波器
- 下一篇:SVPWM控制技术的三相逆变器的控制图
相关资源
- 用于图像处理的三类边缘保护滤波器
- 永磁同步电机的滑模变结构(SMC)仿
- 典型雷达信号的侦察分析和雷达干扰
- cacfar单元平均恒虚警检测方法
- matlab实现阈值图像分割
- 最近邻域标准滤波器(NNSF)和概率数
- matlab有限元格式求解二维热传导(h
- matlab实现的利用backstepping算法设计的
- matlab实现的三维UWBTDOA AOA联合定位算法
- 异步电机 matlab仿真模型
- 模拟SIR信息传播模型的CP过程的仿真程
- matlab实现ID3 决策树算法
- matlab实现的标准大气模型
- Gammatone人耳滤波器
- MATLAB信号处理 、频谱分析、汉宁窗函
- fattal算法的梯度域实现色调映射(G
- 贝叶斯网络(BNT)结构和参数的学习
- matlab实现的对统计数据进行威布尔分
- 数字下变频器的matlab仿真
- QR识别和译码matlab程序
- 拉曼光纤激光器超连续谱(superconti
- matlab实现混合蛙跳算法(SFLA)代码
- SOMP算法代码
- LTE energy and spectrum efficiency
- 信号的功率谱香农熵和功率谱指数熵
- LMS RLS CMA 自适应均衡算法matlab仿真
- 四元数分解的点云配准
- 灰度图和彩色图都能用的双边滤波(
-
电力机车牵引(HXD3)simuli
nk仿真模 - 用于图像的区域分裂和合并的matlab源
评论
共有 条评论