大家好,直接上干货,缺陷检测是视觉需求中难度最大一类需求,主要是其稳定性和精度的保证。首先常见缺陷:凹凸、污点瑕疵、划痕、裂缝、探伤等。常用的手法有六大金刚(在halcon中的ocv和印刷检测是针对印刷行业的检测,有对应算子封装):1.blob+特征2.blob+差分+特征3.光度立体4.特征训练5.测量拟合6.频域+空间结合。 此处用群友给的一个项目实际图,做一个处理,处理本身不是目的,主要和大家共享哲学和技术融合的思想,但愿能对大家有帮助。我们做视觉就像剑客一样,我们需要做到人剑合一才可以达到一种化境界,也就是手中无剑,心中有剑。但是基本功是需要积累的,积累基本功是一个元素和元素关系构成,最后所有知识元素为你所用,任何系统都是由这两者构成,学无止境,在于我们对客观物质的反应认识,接下来我以这个缺陷为例子,这里用六大手法之一,频域结合空间,其实频域就是用波动观点看世界,看问题角度变了,光经过镜头其实发生的是傅立叶变换,此思想在傅立叶光学上有所阐述,就像光经棱镜分光,而光进入计算机内部,进行了采样和量化,然后我们用函数f(x,y)来表示这些数据描述,这些思想是千千万万前人留下,我们要感谢他们,同时后人需要领悟思想融会贯通进行新的创新,才可以推动生产力的发展。技术客观物质本无价有了人类才有价格。所以我在和大家共享视觉时更重要和大家共享思想,我们学习视觉也是有方法思想套路的。自古死记没有用,唯有套路最管用。由于任何周期函数都可以由多个正弦函数构成,那么按照这个思想,图像由f(x,y)来表示,那么这时你就可以拆成多个正弦函数构成,这样每个正弦函数都有一个自己的频率,那么你这样来认识图像,处理图像的思维发生了改变,很多朋友可能暂时适应不过来,其实这很正常,先不要去看抽象数学符号,先从客观存在的现实去理解就会好点,光有波动性和粒子性大家都是知道的,而粒子性在灰度值上有体现,这个大家都有目共睹,也习惯这种方式,而频域就是波动性体现,其实人也是波,人的肌肉等都是在不断波动的,这个是符合量子物理的。好,下面上代码加这种思想的解析,希望能够帮助到大家,达到触类旁通。 read_image (Image66, 'C:/Users/Administrator/Desktop/66.png') *2预处理之拉开对比度(这里采用频域,频域到空间域的常用算子有三个fft_iamge,rft_generic,fft_generic *注意一般在频域里就是选择你想要的频段而已,被称为滤波,这个手法在halcon中有三个,一个是直接手画然后*paint_region,一个是涉及滤波器,然后进行滤波,这个对于初学者有点难度,先掌握常见滤波器。第三个就是调用power_real,对其进行blob解析。这里用的直接手动paint_region,选择对应的频段
paint_region (ROI_0, ImageFFT, ImageResult, 0, 'fill') fft_generic (ImageResult, ImageFFT1, 'from_freq', 1, 'sqrt', 'dc_center', 'byte') emphasize (ImageFFT1, ImageEmphasize, 7, 7, 1) dev_display (Image66) |
halcon机器视觉缺陷检测之划痕-超人视觉
猜你喜欢
转载自blog.csdn.net/qingzhuyuxian/article/details/92799384
今日推荐
周排行