首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >无纺布折痕检测(2)· 基于Laws纹理滤波的折痕检测

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

作者头像
threeQing
发布2019-07-08 12:57:28
1.8K0
发布2019-07-08 12:57:28
举报

1

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)


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器视觉那些事儿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档