我必须使用图像处理来控制饼干制造商的质量(作为我项目的一部分)。该程序必须能够检测过大、过小、扭曲的cookie、有裂缝的cookie等。我是opencv的新手。您能否建议所有功能对我有帮助?
用于质量控制的图像处理功能
您的首要任务是收集各种缺陷的示例,并将要求从“查找有缺陷的 cookie”缩小到“识别这些特定的、精确定义的缺陷类别”。如果您想要一个可以实际满足的要求,您还需要定义允许的失败率(以及您更喜欢误报与误报的程度)。一旦你有了这些,你就可以开始设计光学和照明,你需要获取突出各种缺陷的图像。这可能需要不止一次的成像操作,因为不同的照明/光学条件会突出不同的特征。
以上完成后,就可以开始抓图了;一旦有了图像,您就可以开始探索哪些视觉工具可以识别您之前定义的各种缺陷类别。一些想法:
确定饼干的形状/大小。背光通常是此类应用的理想选择,但如果您拥有易于识别的良好均匀背景,有时您可以使用更直接的照明。您的第一个目标是将 cookie 从背景中分离出来;接下来,您可以使用Blob Analysis之类的工具来查看 cookie 形状的分布。
寻找裂缝。在这里,您将要调查边缘。使用上面的分割图像(因此您知道图像的哪一部分是“cookie”),您可以使用各种边缘过滤器,例如Sobel 算子,来识别具有急剧过渡的区域。然后,您需要尝试各种“正常”和“破解”cookie,以了解它们之间的边缘如何变化。您也许可以查看 cookie 中边缘总强度的阈值来对缺陷进行分类,但这需要更多调查才能做出良好的设计决策。
附注:在实践中,设计照明/光学、拍摄图像、设计/实施算法以及测试其结果的过程是一个迭代过程。您将从您的实验中了解需要改进的领域,并对您早期的成像系统设计进行调整,以更好地实现您所追求的结果。您还可能会发现新的缺陷类别或系统行为可以改变的新方式,这是您没有预料到的。此类任务的长期系统方法涉及大量持续的监控和数据收集,以描述系统随时间的性能。您可能会发现有趣的趋势,例如下午 1:00 到 3:00 之间的故障增加,例如,当外部光线穿过窗户并恰好干扰您的处理时。