HALCON示例程序distance_transform.hdev通过distance_transform检测线的缺陷

示例程序源码(加注释)

  • 关于显示类函数解释
    dev_close_window ()
    dev_open_window (0, 0, 400, 400, ‘black’, WindowHandle)
  • 通过一系列的坐标点生成多边形像素轮廓
    gen_region_polygon (Line1, [300,300,200,0], [0,200,300,300])
    gen_region_polygon (Line2, [350,350,250,0], [0,250,350,350])
  • 合并两个轮廓
    union2 (Line1, Line2, Lines)
  • 使用圆形元素对区域进行膨胀
    dilation_circle (Lines, ThickLines, 7.5)
  • 生成圆形
    gen_circle (Error1, 120, 347, 7.5)
    gen_circle (Error2, 90, 287, 7.5)
    gen_circle (Error3, 302, 202, 7.5)
    gen_circle (Error4, 242, 337, 7.5)
    gen_circle (Error5, 346, 248, 7.5)
    gen_circle (Error6, 204, 312, 7.5)
  • 合并生成的圆形区域
    union2 (Error1, Error3, Errors1)
    union2 (Errors1, Error5, ErrorsAdd)
    union2 (Error2, Error4, Errors2)
    union2 (Errors2, Error6, ErrorsRem)
    union2 (ThickLines, ErrorsAdd, ThichLinesAdd)
    union2 (ThickLines, ErrorsAdd, ThichLinesAdd)
  • 求两个区域不相交的区域
    difference (ThichLinesAdd, ErrorsRem, ThickLinesError)
  • distance_transform - 计算区域的距离变换;每个像素点到边界的距离。
  • distance_transform(区域:距离图像:方式,是否区域内所有点,宽度,高度:)
    distance_transform (ThickLines, LinesDistance, ‘chamfer-3-4’, ‘true’, 400, 400)
  • 提取区域的骨架
    skeleton (ThickLines, Skeleton)
  • 减少定义域
    reduce_domain (LinesDistance, Skeleton, LinesDistanceReduced)
  • 二值化
    threshold (LinesDistanceReduced, NoErrors, [0,9], [6,20])
  • 计算每个像素点到边界的距离
    distance_transform (ThickLinesError, LinesDistanceError, ‘chamfer-3-4’, ‘true’, 400, 400)
    skeleton (ThickLinesError, SkeletonError)
    reduce_domain (LinesDistanceError, SkeletonError, LinesDistanceErrorReduced)
    threshold (LinesDistanceErrorReduced, Errors, [0,9], [6,20])
    dilation_circle (Errors, ErrorsDilation, 5.5)
    connection (ErrorsDilation, ConnectedRegions)
    area_center (ConnectedRegions, Area, Row, Column)
    dev_clear_window ()
    dev_set_draw (‘fill’)
    dev_set_color (‘gray’)
    dev_display (ThickLinesError)
    dev_set_draw (‘margin’)
    dev_set_color (‘red’)
    dev_set_line_width (3)
    disp_circle (WindowHandle, Row, Column, gen_tuple_const(|Row|,15.5))
    dev_set_draw (‘fill’)

处理思路

这个例子是主要讲解了distance_transform算子的应用。

后记

大家有什么问题可以向我提问哈,我看到了第一时间回复,希望在学习的路上多多结交良师益友。

HALCON示例程序distance_transform.hdev通过distance_transform检测线的缺陷相关推荐

  1. HALCON示例程序measure_circuit_width_lines_gauss.hdev电路板线宽检测

    HALCON示例程序measure_circuit_width_lines_gauss.hdev电路板线宽检测 示例程序源码(加注释) 关于显示类函数解释 dev_update_off () dev_ ...

  2. HALCON示例程序measure_chip.hdev芯片封装检测

    HALCON示例程序measure_chip.hdev芯片封装检测 示例程序源码(加注释) 关于显示类函数解释 dev_update_off () read_image (Image, 'die_on ...

  3. HALCON示例程序fin.hdev通过形态学检测缺陷

    HALCON示例程序fin.hdev通过形态学检测缺陷 示例程序源码(加注释) 关于显示类函数解释 dev_update_window ('off') read_image (Fins, 'fin' ...

  4. HALCON示例程序check_hazelnut_wafers.hdev威化饼干质量检测(完整与否,是否破碎)

    HALCON示例程序check_hazelnut_wafers.hdev威化饼干质量检测(完整与否,是否破碎) 示例程序源码(加注释) 读入图片 read_image (Image, 'food/ha ...

  5. HALCON示例程序check_blister.hdev药品胶囊检测

    HALCON check_blister.hdev药品胶囊检测 示例程序源码(加注释) 显示.读入图片.设置显示字体等,之前的帖子已经介绍过了 dev_close_window () dev_upda ...

  6. HALCON示例程序texture.hdev检测树木

    小哥哥小姐姐觉得有用点个赞呗! HALCON示例程序texture.hdev检测树木 示例程序源码(加注释) 关于显示类函数解释 dev_close_window () Interactive := ...

  7. HALCON示例程序rim.hdev轮圈孔检测提取字符

    小哥哥小姐姐觉得有用点个赞呗! HALCON示例程序rim.hdev轮圈孔检测提取字符 示例程序源码(加注释) 关于显示类函数解释 dev_update_off () dev_close_window ...

  8. HALCON示例程序pcb_inspection.hdev检测pcb印刷缺陷

    HALCON示例程序pcb_inspection.hdev检测pcb印刷缺陷 示例程序源码(加注释) 关于显示类函数解释 read_image (Image, 'pcb') dev_close_win ...

  9. HALCON示例程序novelty_detection_dyn_threshold.hdev纱网缺陷检测

    HALCON示例程序novelty_detection_dyn_threshold.hdev纱网缺陷检测 示例程序源码(加注释) 关于显示类函数解释 dev_update_window ('off') ...

  10. HALCON示例程序measure_metal_part_id.hdev使用xld边缘拟合检测零件加工是否合格

    HALCON示例程序measure_metal_part_id.hdev使用xld边缘拟合检测零件加工是否合格 示例程序源码(加注释) 关于显示类函数解释 dev_update_off () Imag ...

最新文章

  1. 激光雷达和毫米波雷达
  2. Node.js实现服务器端生成Excel文件(xls格式、xlsx格式文件)并弹出下载文件
  3. LINUX动态链接库高级应用
  4. 十年学术生涯新开端:港中文助理教授周博磊宣布加入UCLA
  5. LeetCode Rotate Image(矩阵的旋转)
  6. faster rcnn的源码理解(一)SmoothL1LossLayer论文与代码的结合理解
  7. 【转载】Android 关于arm64-v8a、armeabi-v7a、armeabi、x86下的so文件兼容问题
  8. 顶会论文看不懂?阿里巴巴技术专家为你全方位解读!
  9. Python高性能编程指南大纲
  10. 前端最佳实践(一)——DOM操作
  11. win10下python跑科大讯飞语音唤醒
  12. 百度AI之身份证识别
  13. Tsinsen-A1103 ====单循环赛制====固定轮转法。。
  14. Win10上注册OCX文件
  15. 齐齐哈尔大学计算机专业好么,齐齐哈尔大学(专业学位)计算机技术考研难吗
  16. CSS普通属性篇(一):relative与absolute
  17. 初识swipe.js
  18. 流量充值解决方案(附代码)
  19. 无代码开发平台 有哪些?
  20. AI对于人类来说到底是福还是祸?

热门文章

  1. 查找字段 如何 过滤
  2. 网页设计中常用的19个Web安全字体
  3. MySQL 按指定字段自定义列表排序
  4. MVC中validateRequest=false不起作用
  5. Deployment descriptor
  6. Java 运算符及优先级
  7. 20145227鄢曼君《网络对抗》Web安全基础实践
  8. MySQL--SQL中的安全问题
  9. 射击的乐趣:WIN32诠释打飞机游戏
  10. JavaScript --- 解析Cookie