ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【图像处理】gabor提取织物表面特征值进行织物瑕疵识别和处理

2021-07-09 16:08:28  阅读:226  来源: 互联网

标签:subplot 滤波器 title gabor I3 变换 Gabor 图像处理 织物


一、原理简介

D.Gabor 1946年提出

窗口Fourier变换,为了由信号的Fourier变换提取局部信息,引入了时间局部化的窗函数。

由于窗口Fourier变换只依赖于部分时间的信号,所以,现在窗口Fourier变换又称为短时Fourier变换,这个变换又称为Gabor变换。

1) Gabor优点

Gabor小波与人类视觉系统中简单细胞的视觉刺激响应非常相似。它在提取目标的局部空间和频率域信息方面具有良好的特性。虽然Gabor小波本身并不能构成正交基,但在特定参数下可构成紧框架。Gabor小波对于图像的边缘敏感,能够提供良好的方向选择和尺度选择特性,而且对于光照变化不敏感,能够提供对光照变化良好的适应性。上述特点使Gabor小波被广泛应用于视觉信息理解。

Gabor滤波器和脊椎动物视觉皮层感受野响应的比较:第一行代表脊椎动物的视觉皮层感受野,第二行是Gabor滤波器,第三行是两者的残差。可见两者相差极小。Gabor滤波器的这一性质,使得其在视觉领域中经常被用来作图像的预处理。

2) Gabor定义

① 具体窗函数――Gaussaion的 Gabor变换定义式

Gabor变换的基本思想:把信号划分成许多小的时间间隔,用傅里叶变换分析每一个时间间隔,以便确定信号在该时间间隔存在的频率。其处理方法是对f(t)加一个滑动窗,再作傅里叶变换。

② 窗口的宽高关系

经理论推导可以得出:高斯窗函数条件下的窗口宽度与高度,且积为一固定值。

3) 离散Gabor变换的一般求法

① 首先选取核函数

可根据实际需要选取适当的核函数。如,如高斯窗函数;

② 离散Gabor变换的表达式

4) Gabor变换的解析理论

对偶函数可以使计算更为简洁方便。

5) 适用条件

① 临界采样Gabor展开要求条件:TΩ=2π;

② 过采样展开要求条件:TΩ≤2π;

当TΩ>2π时,欠采样Gabor展开,已证明会导致数值上的不稳定。

6) 应用

① 暂态信号检测

如果对信号波形有一定的先验知识且可以据此选取合适的基函数,可以用Gabor变换对信号作精确的检测统计计量。

② 图象分析与压缩

二维Gabor变换可以应用到图象分析与压缩中。

3. 二维Gabor滤波器

用Gabor 函数形成的二维Gabor 滤波器具有在空间域和频率域同时取得最优局部化的特性,因此能够很好地描述对应于空间频率(尺度)、空间位置及方向选择性的局部结构信息。

Gabor滤波器的频率和方向表示接近人类视觉系统对于频率和方向的表示,并且它们常备用于纹理表示和描述。

在图像处理领域,Gabor滤波器是一个用于边缘检测的线性滤波器。

在空域,一个2维的Gabor滤波器是一个正弦平面波和高斯核函数的乘积。

Gabor滤波器是自相似的,也就是说,所有Gabor滤波器都可以从一个母小波经过膨胀和旋转产生。

实际应用中,Gabor滤波器可以在频域的不同尺度,不同方向上提取相关特征。

 

Gabor滤波器的傅里叶变换:峰值响应在复正弦的空域频率(u0,v0):

Gabor滤波器示意图,3种角度5种方向:

 

二、代码

clc;       RGB = imread('normalpic.jpg');L=rgb2gray(RGB);% figure,imshow(L)[G,gabout1] = gaborfilter2(L,11,11,0.25,1*pi/3);%对图像进行gabor滤波 % figure,imshow(uint8(gabout1))h = fspecial('gaussian',[3,3],11)I2=imfilter(gabout1,h);  %figure,imshow(uint8(I2))f_max=(3/4)*max(I2(:));f_min=(1/8)*min(I2(:));M = imread('hole.jpg');R=rgb2gray(M);subplot(2,3,1)imshow(R);title('待检图像')[G,gabout] = gaborfilter2(R,11,11,0.25,1*pi/3);%对图像进行gabor滤波subplot(2,3,3)imshow(uint8(gabout));title('Gabor滤波图像');g = fspecial('gaussian',[3,3],11)I3=uint8(imfilter(gabout,g));subplot(2,3,5)imshow(I3);title('高斯平滑图像');[a,b] = size(I3);for i = 1:a;    for j = 1:b;        if I3(i,j)<f_max & I3(i,j)>f_min            I3(i,j) = 0;        else            I3(i,j) = 255;        end    endendB=[0 1 0;1 1 1;0 1 1];I4=imdilate(I3,B);C=[0 1 0;1 1 1;0 1 1];I5=imdilate(I4,C);  se = strel('ball',7,5);I6 = imerode(I5,se);subplot(2,3,6)imshow(I6);title('最终结果');subplot(2,3,2)imhist(R);title('原图直方图');subplot(2,3,4)imhist(uint8(gabout));title('Gabor滤波直方图');%subplot(2,2,3)%imhist(I3);title('高斯平滑直方图');%subplot(2,2,4)%imhist(I5);title('结果直方图');

三、结果展示

 

标签:subplot,滤波器,title,gabor,I3,变换,Gabor,图像处理,织物
来源: https://blog.51cto.com/u_15287693/3030599

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有