此示例是一个综合的示例,检测的是皮革纹理表面上出现的凸起、凹痕、划痕上的缺陷。使用的依然是光度立体法,只是不同的缺陷,需要使用的是不同参数所生成的图像。示例代码如下:* 使用光度立体的方法检测皮革样品
* Initialization
dev_update_off ()
dev_close_window ()
dev_open_window (0, 0, 640, 480, '
dev_close_window ()
dev_update_off ()
Path := 'lcd/mura_defects_texture_'
read_image (Image, Path + '01')
get_image_size (Image, Width, Height)
dev_open_window (0,
目标:实现高纹理图像中缺陷的检测(黑色)。思路为:1.对彩色图像进行R G B分解,选取B作为后续图像。2. 生成背景模板,将图像傅里叶变换到频域中,通过高斯滤波,然后傅里叶反变换回来,得到的图像就是背景模板。3 .背景差分。采用sub_image函数进行图像差分,增强两幅图像的差异4 .分水岭算法分割,在分割之前采用中值滤波来抑制小斑点或细线。分水岭后,图像分割为多个轮廓(region)。5 .计算多个轮廓region的灰度信息,包括能量。相关度、同一度、对比度,通过灰度共生矩阵。 前面的两个
texture.hdev这个例子是主要讲解了histo_2dim 、class_2dim_sup 搭配使用灰度直方图进行图像分割。* Find textured areas (trees and bushes)
*
dev_close_window ()
Interactive := 0
dev_close_window ()
read_image (MreutHi
无纺布折痕检测(3)· 基于灰度投影的折痕检测 https://www.skcircle.com/?id=1279频率域滤波基础之一 https://www.skcircle.com/?id=330基于二次曲面拟合的脏污检测 https://www.skcircle.com/?id=1274视觉进阶:阈值分割函数总结 https://www.skcircle.com/?id=683Hal
频率域滤波基础之五2018-11-23 20:38:23
选择性滤波在很多应用中,其中感兴趣是处理指定的频段或频率矩形。第一类滤波器分别称为带阻滤波器或带通滤波器。第二类滤波器称为陷波滤波器。1、带阻滤波和带通滤波D(u,v)是距离频率矩形中心的距离,D0是带宽的径向中心,W是带宽。一个带同滤波器可以用从低通滤波器得到高通滤波器的相同的方法从带阻滤波器中得到halcon生成理想带阻带通和高斯带阻带通的代码read_image (Image, 'D:/halcon work/fft/1.png')
rgb1
频率域滤波基础之三2018-11-23 20:30:33
低频对应于图像变化缓慢的灰度分量,前面我们通过衰减高频成分来平滑图像。高频则对应于图像中变化快速的灰度变化。这些通常是物体的边缘及噪声。以下我们将通过高通滤波来实现图像的锐化。高通滤波会衰减傅立叶变换中的低频分量而不扰乱高频信息。理想高通滤波器halcon程序read_image (Image, 'D:/halcon work/fft/有票.bmp')
rgb1_to_gray (Image, GrayImage)
get_i
频率域滤波基础之二2018-11-23 20:16:21
二维离散傅立叶(DFT)变化及其反傅立叶变换(IDFT)傅立叶变换通用形式对通用形式来讲,c=1,s=-1即为傅立叶变化(图像空间域转频域);c=1/MN,s=1即为逆变换(频域转空间域)halcon算子fft_generic(Image : ImageFFT : Direction, Exponent, Norm, Mode, ResultType : ) 通过参数设置可实现图像的频域和空间域的互转。fft_generic(Image,ImageFFT,'to_freq',-1
频率域滤波基础之一2018-11-23 20:08:31
如果不了解在图像滤波中如何应用傅里叶变换和频率域的基本知识,要彻底理解这一领域也是不太可能。二维离散傅里叶变换的一些性质1、空间和频率间隔的关系假设对连续函数f(t,z)取样生成了一副数字图像f(x,y),它由分别在t和z方向所取的MxN个样点组成。令△T和△Z表示样本间的间隔。那么相应离散频率域变量间的间隔分别由给出。频率域样本间的间隔与空间样本间的间距和样本数成反比。2、平移和旋转用指数项乘以f(x,y)将使DFT的原点移动到点(u0,v0);反之,用负指数乘以F(u,v)将使f(x,y)的