【图像处理】gabor提取织物表面特征值进行织物瑕疵识别和处理
1 原理简介
一种基于最优Gabor滤波器的经编织物瑕疵检测方法,特征是,包括以下步骤:步骤1,构造Gabor滤波器,提取Gabor滤波参数;步骤2,对无瑕疵经编织物图像进行Gabor卷积处理,采用Fisher准则构造适应度函数,利用量子行为粒子群优化(QPSO)算法对步骤1提取的Gabor滤波参数进行最优化处理,得到Gabor滤波器的最优参数;步骤3,由步骤2得到的Gabor滤波器最优参数,对待检测的经编织物图像进行Gabor卷积处理;步骤4,进行二值化处理得到经编织物的瑕疵检测结果.本发明所述的瑕疵检测方法能提高经编织物瑕疵检测效率和检测准确率.







2 部分代码
clc;
RGB =imread('normalpic.jpg');
I=rgb2gray(RGB);
figure,imshow(I);
r=0;
max1 = 0;
max_f = 0;
max_theta = 0;
%一幅图像经过4*6个滤波器
%for f =1/16:f:1/2
for L = 0 : 3 %for L= 1:3
f = 2^L / 16; % f = L/16 尺度为1/16、1/8、1/4、1/2
for theta=pi/6:pi/6:pi
[G,gabout] = gaborfilter2(I,11,11,f,theta );
r = r+1;
% subplot(4,6,r),imshow(gabout);
gray = uint8(gabout);
[m,n]=size(gray);
x=(m/4);
y=(n/4);
s=0;
max = 0;
min = 255;
max_i = 0;
max_j = 0;
min_i = 0;
min_j = 0;
%把一图像均分成16分
for k=0:3
for g=0:3
for i=1:x
for j=1:y
b(i,j) = gray(i+k*x,j+g*y);
end
end
s=s+1;
% subplot(4,4,s),imshow(b);
a = mean(b(:));%求子图均值
if(a>max)%求最大最小图均值
max = a;
max_i = k;
max_j = g;
end
if (a min = a; min_i = k; min_j = g; end end end J=(max-min)/min; %损失函数被用来衡量第I个滤波输出 subplot(4,6,r),imshow(gabout); if(J>max1) max1 = J; max_f = f max_theta = theta end end end [1]李岳阳, 蒋高明, 丛洪莲,等. 基于最优Gabor滤波器的经编织物瑕疵检测方法:, CN105205828A[P]. 2015. 博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,有科研问题可私信交流。 3 结果展示

![]()
4参考文献
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
