Halcon 频域缺陷检测
频域是对图像进行处理的有效的手段,对产品的缺陷检测,可以通过对图像频域的处理实现,
这其中的核心是频域滤波器的设计。
先看几个相关的算子
1.rft_generic
作用:对实数图像进行傅里叶变换或傅里叶反变换,由时域图像得到频域图像或由频域图像得到时域图像
看一下几个重点的参数
1.direction
这个有 'from_freq', 'to_freq'这两种可选 ,分别表示由时域图像得到频域图像及由频域图像得到时域图像
2.norm 这个我也没搞明白 懂了再补充吧
3.ResultType
这个用于设置结果类型,需要注意的是 当转换到频域时,我们选'complex' ,转换到时域时,我们选
'byte'
2.gen_gauss_filter
作用:产生一个频域高斯滤波器,他与图像的频域进行卷积,就可以起到滤波的效果
其中的norm要选为'n',这是我所不理解的
3.convol_fft
作用:进行频域的卷积
4.
*设置区域的填充方式
dev_set_draw ('margin')*利用频域对缺陷图像进行检测
read_image (Image, '//Mac/Home/Downloads/7.Halcon缺陷检测视频教程/Halcon缺陷检测视频教程配套资料/背景网格产品刮伤缺陷检测@/lcd/mura_defects_blur_01.png')
get_image_size (Image, Width, Height)
*将图像抓换为灰度
rgb1_to_gray (Image, GrayImage)
*拆分图片 将图片拆分为3通道
decompose3 (Image, R, G, B)
*对灰度图像进行颜色反转
invert_image (GrayImage, ImageInvert)
*进行实数傅里叶变换 变换后图像的大小改变
rft_generic (B, ImageFFT, 'to_freq', 'none', 'complex', Width)
get_image_size (ImageFFT, Width1, Height1)
*创建一个高斯滤波核,用以与进行傅里叶变换后的图像进行卷积
gen_gauss_filter(ImageGauss, 10, 10, 0, 'n', 'rft', Width, Height)
*进行频域卷积处理 卷积操作不会改变图像大小
convol_fft (ImageFFT, ImageGauss, ImageConvol)*将频域图像转换为时域
rft_generic (ImageConvol, ImageFFT1, 'from_freq', 'none', 'byte', Width)
运行以上代码,我们既可以得到一张这样的图像
右侧是需要进行缺陷检测的原图
再继续执行以下代码
*将原图像与经过滤波的图像相减
sub_image (B, ImageFFT1, ImageSub,2,100)
*ImageSub =( ImageMinuend - ImageSubtrahend ) *Mult + Add
*之所以乘以Mult是要拉大两幅图像相减后的对比度,加上一个Add是为了增加相减后的图像的整体亮度。*设置提取线条的阈值
calculate_lines_gauss_parameters (40, [25,3], Sigma, Low, High)
*根据高斯核选出线
lines_gauss (ImageSub, Lines, Sigma, Low, High, 'dark', 'true', 'gaussian', 'true')
即可得到有缺陷的区域
Halcon 频域缺陷检测相关推荐
- halcon视觉缺陷检测系列(1)常用的6种方法
一.缺陷检测综述 缺陷检测是视觉需求中难度最大一类需求,主要是其稳定性和精度的保证.首先常见缺陷:凹凸.污点瑕疵.划痕.裂缝.探伤等.常用的手法有六大金刚(在halcon中的ocv和印刷检测是针对印刷 ...
- Halcon 网格缺陷检测
网格缺陷检测 图片资源 链接:https://pan.baidu.com/s/1Higp9T94J1KtlxCyYZrW1Q 提取码:z2wn *************1.读取图片与基本设置**** ...
- 图像分析,使用Halcon进行缺陷检测
1.首先简单介绍一下Halcon开发: HALCON是德国MVtec公司开发的一套完善的标准的机器视觉算法包,拥有应用广泛的机器视觉集成开发环境.它节约了产品成本,缩短了软件开发周期--HALCON灵 ...
- HALCON【缺陷检测】
1.缺陷分类: 边缘凹凸.毛刺 内部污点.内部凹凸.特定空洞.破损 划痕(一般用低角度环形光和同轴光源) 凸点一般用带角度的光源斜着打,背景打亮,凸点打暗. 凹点一般用平行光从上往下打,背景打亮,凹点 ...
- halcon python缺陷检测_halcon边缘提取缺陷检测的思路
一.边缘提取 1 .设置 ROI 兴趣区域 2 .快速二值化,并连接相邻区域.这样做的目的是进一步减少目标区域,通过二值化将目 标区域大概轮廓提取出来 3 .提取最接近目标区域的轮廓 . 常用函数有 ...
- halcon python缺陷检测_Halcon学习笔记之缺陷检测(一)
*surface_scratch.hdev:extraction of surface scratches via local thresholding and morphological post- ...
- Halcon:PCB缺陷检测
图像处理结果: 主要思想: *Blob+差分+特征 Blob:使用灰度值的开运算图像A,使用灰度值的闭运算图像B 差分:A-75>B,选择其中暗的,A+75<B,选择其中亮的 特征:可以再 ...
- [Halcon图像] 缺陷检测的一些思路、常规检测算法
- halcon缺陷检测——频域
缺陷检测--频域和空间域 1. 理解傅里叶变换 2. 读懂频谱图 3. 使用频域处理图像的案例 3.1 脏污检测 3.2 检测表面微小凸起 3.3 检测磨砂表面的缺陷 4. 资源下载 1. 理解傅里叶 ...
最新文章
- StringUtils的isBlank与isEmply
- [论文学习]Manifold Mixup和PatchUp的代码重新实现(实现即插即用且速度更快)
- mysql 创建用户权限_10.创建 MySQL 用户及赋予用户权限
- LeetCode MySQL 1097. 游戏玩法分析 V
- android richtext显示html,【报Bug】关于rich-text显示html 的问题
- directui 3d界面引擎_美术设计师浅谈AR/VR中3D建模设计的工具、挑战与区别
- AMD官宣350亿美元收购赛灵思 赛灵思大涨8.56%
- 宝塔linux修改默认编码,宝塔linux面板防护CC设置(示例代码)
- 软考 2015年下半年卷 错题知识点记录
- Java异步多线程编程探索之CompletableFuture
- Luogu1373 小a和uim之大逃离
- Wazuh的rootkit扫描性能优化
- 2021年认证杯SPSSPRO杯数学建模D题(第一阶段)停车的策略全过程文档及程序
- windows 控制台cmd乱码(及永久修改编码)的解决办法
- 常见字符编码详解ANSI,UTF-8,UCS,GBK,GB2312,BIG5
- Android Beam 文件传输失败分析与解决
- led点阵c语言程序,51单片机驱动LED点阵扫描显示C语言程序
- 使用Persimmon UI Builder 开发的一些技巧和注意事项 -- (RT-thread 柿饼UI)
- 测试双方距离的软件,有没有可以测量距离的app
- 制作ubuntu18.04启动盘 + 安装ubuntu18.04