缺陷检测halcon

该博客详细介绍了如何利用Halcon进行图像缺陷检测。首先通过dev_get_window和dev_update_window设置窗口更新,然后生成高斯低通滤波器。接着,读取图片并将其转换为频域,使用滤波器进行滤波操作。再通过fft_image_inv将频域图转换回空域图,并进行图像切割、动态阈值处理以及连接分析。通过select_shape选择特定面积范围内的区域作为潜在缺陷。最后,计算缺陷的面积,显示结果并判断是否存在缺陷。整个过程展示了Halcon在计算机视觉领域的应用。
摘要由CSDN通过智能技术生成

dev_get_window (WindowHandle)
dev_update_window ('off')

*生成高斯低通滤波器
gen_gauss_filter (Gauss1, 8, 8, 0, 'none', 'dc_center', 652, 494)
list_image_files ('./images', 'default', [], ImageFiles1)
imgNum:=|ImageFiles1|
for Index := 0 to imgNum-1 by 1
    read_image (Image, ImageFiles1[Index])   

*将原图转为频域
     fft_generic (Image, ImageFFT, 'to_freq', -1, 'sqrt', 'dc_center', 'complex')

*使用滤波器滤波
    convol_fft (ImageFFT, Gauss1, ImageConvol)

*将频域图转换成空域图
    fft_image_inv (ImageConvol, ImageFFTInv)

*对原图进图像切割
    dyn_threshold (Image, ImageFFTInv, RegionDynThresh, 8, 'dark')

*将不相连的区域独立出来
    connection (RegionDynThresh, ConnectedRegions1)

*筛选出缺陷
    select_shape (ConnectedRegions1, SelectedRegions, 'area', 'and', 408.07, 5000)

*获取每个缺陷的面积
       area_c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值