计算机视觉中的数据清洗与基础特征化
一、模块数据清洗—— 去除“脏”数据统一格式数据清洗的目标是消除外界干扰、标准数据格式确保后续算法不会因为“脏数据”而失效。如果噪声不清洗后续的边缘检测Canny或CNN卷积核会把噪点当作“物体边缘”提取导致误检。1.1噪声过滤脏数据来源传感器瑕疵、光线干扰、传输丢失等。代码中的add_peppersalt_noise函数模拟了典型的“椒盐噪声”随机黑白像素点。清洗的方式其一中值滤波cv2.medianBlur这是应对椒盐噪声最有效的清洗手段因为它用邻域像素的中值代替中心像素能完美过滤孤立噪点同时不模糊边缘能够保护图像结构。其二高斯滤波cv2.GaussianBlur假设噪声服从高斯分布通过加权平均平滑噪声属于经典的“低通滤波”清洗能有效抑制高频噪声。2. 空间与尺寸规范化特征化的目标是将清洗后的像素值转化为具有语义区分度的数字属性如亮暗、对比度、区域连通性为后续高级任务中轮廓提取、OCR、目标检测提供输入。第二模块基础特征化Basic Featureization—— 将像素转换为“可计算的特征”2.1.亮度对比度特征提取代码中的cv2.addWeighted(a, 0.5, b, 0.5, 10)实现了图像的加权融合。这不仅仅是简单的亮度调整而是融合了多模态信息。例如将两张在不同光照下拍摄的图像融合提取更稳健的纹理特征。cv2.add的饱和运算超过255截断为255可以强制拉伸对比度让暗部和亮部特征更分明。基础特征化通过运算人为地放大了图像中感兴趣的信号如边缘、纹理区域压制了背景区域让特征空间更利于区分。2.2空间二值化分割代码中的cv2.threshold使用了全局阈值。它将原本 0~255 的连续灰度值硬性映射为 0 或 255。这相当于把图像“二值化”从而完成了目标与背景的分离。THRESH_BINARY大于175为白目标小于为黑背景。THRESH_TOZERO保留大于175的原始灰度小于的变黑。这是最基础的图像分割特征。二值化后计算机可以轻松通过连通区域分析提取出物体的外轮廓、面积、质心、周长等几何特征。没有这一步高级算法将无从下手。第三模块流水线协同 —— 从“原始像素”到“可输入特征”原始图像↓ (数据清洗: 尺寸统一) → resize / 边界填充↓ (数据清洗: 去噪) → medianBlur / GaussianBlur↓ (数据清洗: 增强/融合) → addWeighted (提升对比度/融合特征)↓ (基础特征化: 分割) → threshold (提取二值化目标轮廓)↓ (输出给高级视觉任务) → 轮廓检测、OCR、目标匹配以上所述不是孤立的它们构成了一条完整的传统计算机视觉预处理流水线直接让CNN去学模型可能会陷入过拟合噪声或者因为图像尺寸不一而崩溃。清洗和基础特征化是给机器“打地基”让高层算法能在稳固的基础上学习。