、
、
、
、
、
、
、
、
你的芯片一直都是这样的颜色么,如果是的话,可以考虑从颜色和区域入手来判断
1、预处理:图像缩小->灰度化->高斯滤波->二值化
2、找轮廓:canny边缘检测->寻找边缘轮廓->筛选最大轮廓
确定轮廓范围后,你就应该知道什么坐标位置,大概是什么颜色值,超过了阈值,就表示此处颜色异常,如果异常颜色点的n邻阈内还有颜色异常的点,就持续查找下去,直到找出的连续异常点数量超过某一阈值,可以判定为缺陷
楼主现在算法存在的问题是只能找到边缘的缺陷,找不到中间的缺陷,
那么可以提取颜色通道,
橙色部分在R通道里面灰度值偏大,
可以在R通道里进行一次阈值分割,然后再提取内部的缺陷,
最后把内部和边缘的缺陷合并即可
你想做的,应该和http://blog.csdn.net/wxgxgp/article/details/55505540?locationNum=13&fps=1 这个类似。