无纺布折痕检测(2)· 基于Laws纹理滤波的折痕检测

 

 

 

 

 

Laws纹理滤波

纹理实际上一种视觉特征,反映了图像上某种灰度变化的分布,体现出像素灰度与周围空间的一种关系,例如布匹纹理、木制家具纹理等,如下图所示布匹上纹理。

LAWS纹理滤波以一种统计能量的方式检测纹理,能量的度量一般由以下三个向量得到:

这三个向量与其自身以及互相卷积后,可形成以下5个向量:

而这5个向量之间,相互乘积,可以生成检测水平、垂直、高频点、V形状等特征纹理的模板,下图为生成检测垂直边缘的LAWS模板(LS)。

如果对纹理的其他提取方法感兴趣,可按如下图示方法,一一探询。

2

相关算子

texture_laws( Image : ImageTexture : FilterTypes, Shift, FilterSize : )

名字:LAWS纹理滤波

描述:利用LAWS纹理滤波器对图像进行纹理变换。

参数:

Image :输入图像

ImageTexture :输出变换后的纹理图像

FilterTypes:指定希望滤波器类型

Shift:灰度动态偏移

FilterSize :滤波器尺寸

关于滤波器类型有以下如此多,此次使用检测垂直方向纹理5*5的‘ls’滤波器。

3

算法思路

整体思路还是沿用第一篇思路的框架,着重理解第一篇算法思路。

1. 使用textrue_laws进行纹理滤波变换 2. 再用gray_range_rect进行灰度变换 3. 利用line_guass提取线条

4

实例分析

使用LAWS纹理模板--‘ls’,检测垂直纹理,效果如下

整体代码如下:

dev_update_off ()
read_image (Image1030179715f15e264af3b, 'C:/Users/SWD-AR02/Desktop/10_3017_9715f15e264af3b.png')

*LAWS纹理滤波
texture_laws (Image1030179715f15e264af3b, ImageTexture, 'ls', 2, 5)
*灰度变换
gray_range_rect (ImageTexture, ImageResult1, 6, 6)
*高斯线条提取
MaxLineWidth := 10
Contrast := 40
calculate_lines_gauss_parameters (MaxLineWidth, [Contrast,0], Sigma, Low, High)
lines_gauss (ImageResult1, Lines, Sigma, Low, High, 'light', 'true', 'parabolic', 'true')
*剔除干扰线
select_contours_xld (Lines, SelectedContours, 'contour_length', 50, 250, -0.5, 0.5)
union_adjacent_contours_xld (SelectedContours, UnionContours, 10, 1, 'attr_keep')

*结果显示
gen_region_contour_xld (UnionContours, Region, 'margin')
dilation_rectangle1 (Region, RegionDilation, 11, 1)
dev_set_draw ('margin')
dev_display (Image1030179715f15e264af3b)
dev_display (RegionDilation)


 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值