从频域到空域:工业缺陷检测中的傅里叶变换实战解析
在工业质检领域,金属表面的细微划痕、纺织品的隐蔽瑕疵或电子元件的微型裂纹,常常与背景纹理高度相似。传统空域分析方法往往陷入"大海捞针"的困境——当缺陷信号被淹没在复杂的背景噪声中时,即使是最先进的深度学习模型也可能失效。这正是频域分析技术大显身手的战场。
1. 频域检测的核心优势与物理本质
当一张金属板材的图像被转换到频域空间时,规则的表面纹理会呈现为频谱图上离散的亮点,而随机分布的缺陷则表现为宽带高频噪声。这种物理特性的差异,为分离缺陷与背景提供了天然的优势:
- 纹理抑制能力:周期性背景在频域中表现为能量集中的尖峰,通过设计陷波滤波器可精准消除
- 信噪比提升:缺陷特征常分布在特定频带,频域滤波可比空域方法获得更高信噪比增益
- 多尺度分析:不同尺寸缺陷对应不同频率分量,可分层提取微米级到毫米级缺陷
# OpenCV频域滤波典型流程
import cv2
import numpy as np
def frequency_domain_filter(img_path):
# 读取图像并转为灰度
img = cv2.imread(img_path, cv2.IMREAD_GRAYSCALE)
# 傅里叶变换
dft = cv2.dft(np.float32(img), flags=cv2.DFT_COMPLEX_OUTPUT)
dft_shift = np.fft.fftshift(dft)
# 构建理想带阻滤波器
rows, cols = img.shape
crow, ccol = rows//2, cols//2
mask = np.ones((rows, cols, 2), np.uint8)
r = 30 # 阻带半径
cv2.circle(mask, (ccol, crow), r,


447

被折叠的 条评论
为什么被折叠?



