当前位置:   article > 正文

halcon 不均匀表面刮伤检测__骨架检测halcon

骨架检测halcon

  1. *关闭程序计数器,图形变量更新,窗口图形更新
  2. dev_update_off ()
  3. *关闭已打开的窗口
  4. dev_close_window ()
  5. ************************************************第一步: 获取图像**************************************************
  6. *读取图像
  7. read_image (Image, 'image.png')
  8. *获取图像大小
  9. get_image_size (Image, Width, Height)
  10. *打开一个新窗口
  11. dev_open_window_fit_image (Image, 0, 0, Width, Width, WindowID)
  12. *设置字体信息:字体大小为16,字体为mono,粗体,斜体
  13. set_display_font (WindowID, 16, 'mono', 'true', 'false')
  14. *设置区域的填充方式
  15. dev_set_draw ('margin')
  16. *设置线宽度
  17. dev_set_line_width (4)
  18. *显示图像
  19. dev_display (Image)
  20. ************************************************第二步: 分割图像**************************************************
  21. * 均值滤波,滤波核大小为7*7
  22. mean_image (Image, ImageMean, 7, 7)
  23. * 用局部阈值进行分割
  24. dyn_threshold (Image, ImageMean, DarkPixels, 5, 'dark')
  25. * 联通处理
  26. connection (DarkPixels, ConnectedRegions)
  27. * 输出对象的显示颜色的数目
  28. dev_set_colored (12)
  29. dev_display (Image)
  30. dev_display (ConnectedRegions)
  31. ************************************************第三步: 处理区域**************************************************
  32. * 过滤出缺陷区域
  33. select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 10, 1000)
  34. dev_display (Image)
  35. dev_display (SelectedRegions)
  36. * 将SelectedRegions中的所有区域合并
  37. union1 (SelectedRegions, RegionUnion)
  38. * 对合并区域进行膨胀处理,其结构元素为圆形,半径为3.5
  39. dilation_circle (RegionUnion, RegionDilation, 3.5)
  40. dev_display (Image)
  41. dev_display (RegionDilation)
  42. Message := 'Region of the scratches after dilation'
  43. * 对膨胀后的区域进行求骨架
  44. skeleton (RegionDilation, Skeleton)
  45. * 对获取的骨架区域进行连通处理
  46. connection (Skeleton, Errors)
  47. dev_set_colored (12)
  48. dev_display (Image)
  49. dev_display (Errors)
  50. ************************************************第三步: 获取大缺陷和小缺陷**************************************************
  51. *过滤出大的缺陷
  52. select_shape (Errors, Scratches, 'area', 'and', 50, 10000)
  53. *过滤出小的缺陷
  54. select_shape (Errors, Dots, 'area', 'and', 1, 50)
  55. dev_display (Image)
  56. dev_set_color ('red')
  57. dev_display (Scratches)
  58. dev_set_color ('blue')
  59. dev_display (Dots)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/287494
推荐阅读
相关标签
  

闽ICP备14008679号