Re: [问题] 有人做过粗糙表面的瑕疵检测吗?

楼主: Schottky (顺风相送)   2019-10-05 13:09:15
※ 引述《popen (快乐的工作)》之铭言:
: 编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
: 额外使用到的函数库(
: Library Used): (Ex: OpenGL, ...)
: OpenCV
: 如标题,
: 如果在粗糙的金属表面或粗糙的背景上面有
: 刮痕或有斑点,要检测上面的刮痕或斑点,
: 有人做过类似的东西吗?
: 我是先用gaussian blur降噪,再用二值化分割出缺陷,
: 但发觉还是有些缺陷分不出来,
: 不知有没有比较强健的方法
光学检测有很多种,像这种需要检测细微瑕疵的应用,一般绝不会用 blur,
使用 blur 直接把原本看得到的细节给抹掉了,分辨率直接下降一级,
那为什么不一开始就买低分辨率的相机和镜头就好了,多浪费一笔钱
想想如果你要检测的瑕疵比正常背景点点还要细 (却很长) 怎么办
blur 完什么都看不见了。
因为你的叙述很模糊,也很难给什么具体的建议,你自己大概也还没有深思过这些,
总之设法去分辨正常的粗糙背景和不正常的瑕疵就是了。
可能是形状 (正常背景是颗粒状,刮痕是长条状),
可能是光影 (打某角度某形式的光时凹凸不平会看不见,但污渍还是看得见)
也可能是阴影区块面积,或者颜色,或者密度
光源、相机、镜头先弄好,否则软件这边也只是 GIGO (garbage-in garbage-out)
作者: aria0520 (紫)   2019-10-05 19:49:00
借串问一下 那假如是要检测部件是否缺少或错置的话呢?也就是非细微的瑕疵
作者: laytomall (Time Fly)   2019-10-05 19:58:00
有看用机器学习的方案来检查缺少部件
作者: popen (Penpineapple-applepen)   2019-10-10 16:05:00
检测缺件较简单,你就拍缺件的背景当template再用template matching,假如缺件,match结果就会非常相似没缺件,match结果就会差异很大

Links booklink

Contact Us: admin [ a t ] ucptt.com