Halcon视觉缺陷检测方法总结

一、缺陷检测

是视觉需求中难度最大一类需求,主要是其稳定性和精度的保证。首先常见缺陷:划痕、污点瑕疵、漏诊、破洞、毛丝等。常用的手法有六大金刚,
1.blob+特征
2.blob+差分+特征
3.光度立体
4.特征训练
5.测量拟合
6.频域+空间结合

二、频域+空间结合法

1、频域结合空间,其实频域就是用波动观点看世界,看问题角度变了,光经过镜头其实发生的是傅立叶变换,此思想在傅立叶光学上有所阐述,就像光经棱镜分光,而光进入计算机内部,进行了采样和量化,然后我们用函数f(x,y)来表示这些数据描述。图像处理应用傅里叶变换就是将空间域(图像本身)转换至频率域。傅里叶变换可以将一个信号函数,分解一个一个三角函数的线性组合。由于任何周期函数都可以由多个正弦函数构成,那么按照这个思想,图像由f(x,y)来表示,那么这时你就可以拆成多个正弦函数构成,这样每个正弦函数都有一个自己的频率。
2、频率特征是图像的灰度变化特征,低频特征是灰度变化不明显,例如图像整体轮廓,高频特征是图像灰度变化剧烈,如图像边缘和噪声。一个重要的经验结论:低频代表图像整体轮廓,高频代表了图像噪声,中频代表图像边缘、纹理等细节。
3、什么时候使用傅里叶变换进行频域分析?
1)具有一定纹理特征的图像,纹理可以理解为条纹,如布匹材质容易出现。 2)需要提取对比度低或者信噪比低的特征。 3)图像尺寸较大或者需要与大尺寸滤波器进行计算,此时转换至频域计算,具有速度优势。因为空间域滤波为卷积过程(加权求和),频域计算直接相乘。

三、举例说明

read_image (Image, 'C:/Users/汉林/Desktop/img/划痕、油污、瑕疵/表面划痕/Image.bmp')

dev_close_window() 
get_image_size(Image, Width, Height) 
dev_open_window(0, 0, Width, Height, 'black', WindowHandle) 
set_display_font(WindowHandle, 16, 'mono', 'true', 'false') 
dev_set_line_width(2) 
dev_display(Image) 
disp_continue_message(WindowHandle, 'black', 'true') 
stop() 

invert_image(Image,ImageInvert1) 
mult_image(ImageInvert1, ImageInvert1, ImageResult,0.01, 0) 

* 产生一个正弦形状的带通滤波器.
gen_sin_bandpass (ImageBandpass, 0.6, 'none', 'rft', Width, Height)
rft_generic (ImageResult, ImageFFT, 'to_freq', 'none', 'complex', Width) 
convol_fft (ImageFFT, ImageBandpass, ImageConvol) 
rft_generic (ImageConvol, Lines, 'from_freq', 'n', 'byte', Width)

*使用Laws纹理过滤器过滤图像
texture_laws (Lines, ImageTexture, 'el',3, 5)
mean_image(ImageTexture, ImageMean,5, 30)
*使用动态阈值
dyn_threshold(ImageTexture, ImageMean, RegionDynThresh, 20, 'light')
*合并像素相连成一个元素
connection(RegionDynThresh, ConnectedRegions)
select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 44.08, 487)
union1(SelectedRegions, RegionUnion)
closing_circle(RegionUnion, RegionClosing, 6)
skeleton(RegionClosing, Skeleton)

dev_display(Image) 
dev_set_color('red') 
dev_display(Skeleton) 
stop()

四、检测结果

原图
在这里插入图片描述
检测结果
在这里插入图片描述

  • 4
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值