Halcon系列教程之【缺陷检测】

时间:2022-08-31 09:41:32

1.缺陷分类:

  边缘凹凸、毛刺

  内部污点、内部凹凸、特定空洞、破损

  划痕(一般用低角度环形光和同轴光源)

    凸点一般用带角度的光源斜着打,背景打亮,凸点打暗。

    凹点一般用平行光从上往下打,背景打亮,凹点打暗。

2.缺陷处理的方式:

  Blob+区域特征:cheak_blister.hdev(检测胶囊缺失和错误)

  Blob+区域特征+差分:fin.hdev(边缘凸起的检测)

  频域+空间域

  光度立体法  

  特征训练(分类器、深度学习)、OCV光学字符检测

  测量+拟合:fit_rectangle2_contour_xld(矩形拟合)和measure_fill_level(测量液位高度)和align_measurements(检测剃须刀片断齿)

3.形态学中的区域Region差分

  增加像素:膨胀+闭运算,其中并运算是增加多一些

  减少像素:腐蚀+开运算,其中开运算是减少多一些

4.局部二值化

  这种用法适用于光照稳定、环境简单的现场

  mean_image (Image, ImageMean, 3, 3)      //均值滤波,例如是3*3的模板,从图像左上角滑到图像右下角,每一点的像素值取临近9个像素值的平均值,这样可以使图像变得平滑和均匀,没有太大的凸起

  dyn_threshold (Image, ImageMean, RegionDynThresh, 5, 'dark')    //5是offset,offset越大,越难提取太亮或太暗的

light
dark
equal 基本和原图相等
not_equal 亮和暗都提取

5.形态学中的图像Image差分:灰度形态学

  亮的像素点变多:膨胀+闭运算,其中闭运算算子:gray_closing_shape (Image, ImageClosing, 7, 7, 'octagon')      octagon:八角形,用的7*7的模板

  暗的像素点变多:腐蚀+开运算,其中开运算算子:gray_opening_shape (Image, ImageOpening, 7, 7, 'octagon')

6.图像处理的十大类

  图像的基本理论

  图像增强

  图像的灰度变换:scale_image

  图像的几何变换:仿射变化、投影变换、极坐标变换

  图像的频域变换:傅里叶变换、小波变换

  图像复原技术

  图像形态学:分区域形态学和灰度形态学

  图像分割:边缘检测、二值化、边缘分析,分割出感兴趣的

  运动图像:图像差分

  图像配准:例如形状匹配

7.仿射变换矩阵

  Halcon系列教程之【缺陷检测】

8.OCV光学字符识别

  create_ocv_proj ('A', OCVHandle)  创建OCV句柄

  traind_ocv_proj (ImageReduced, OCVHandle, 'A', 'single')  训练OCV句柄

  write_ocv (OCVHandle, 'test_ocv.ocv')  保存OCV句柄

  read_ocv ('test_ocv.ocv', OCVHandle)  读取OCV句柄

  do_ocv_simple (ImageReduced, OCVHandle, 'A', 'true', 'true', 'true', 'true', -1, Quality)  检测OCV质量:使用OCV工具验证样品

  do_ocv_simple(Pattern : : OCVHandle, PatternName, AdaptPos, AdaptSize, AdaptAngle, AdaptGray, Threshold : Quality)