与Piglet达成一致,如果图案的频率大大低于缺陷的频率,则陷波滤波器是首选。
还应同意,如果您有多帧校准的条纹图案,则有一系列可用的选项。 Halcon的最新版本具有内置的折光法运算符。
为了快速实现n-dirty,您还可以使用矩形内核利用样式的一般方向。这等效于正交各向异性高通滤波器。
read_image(imgInput, 'C:/Users/jpeyton/Documents/zzz_temp/FringePat_raw.jpg')
*smooth input image with mean using vertically oriented rectangular kernel
mean_image (imgInput, imgMean, 3, 15)
*subtract smoothed image from raw image to get local / high frequency residuals
abs_diff_image(imgMean,imgInput,imgAbsDiff, 1)
*threshold away background
threshold (imgAbsDiff, Regions, 8, 255)
Smooth with mean operator. Vertically oriented kernel (3x15 in this case)
从原始图像和阈值中减去平滑图像:
从那里,您可以运行连接运算符,并使用区域功能进一步突出缺陷。您会注意到这种方法无法为低频缺陷(凹痕?)提供强大的信号。
因此,需要权衡的是FFT / DFT滤波器不会利用图案的方向,而会留下边缘/谐波伪像。高通滤波器方法(如上)将对缺陷不敏感,因为接近/边缘频率较高。