HALCON示例程序obj_diff.hdev算子obj_diff 的使用

HALCON示例程序obj_diff.hdev算子obj_diff 的使用

示例程序源码(加注释)

  • 关于显示类函数解释
    read_image (Image, ‘particle’)
  • 二值化
    threshold (Image, Region, 57, 255)
  • 分割连通域
    connection (Region, ConnectedRegions)
    dev_close_window ()
    get_image_size (Image, Width, Height)
    dev_open_window_fit_image (Image, 0, 0, Width, Height, WindowHandle)
    set_display_font (WindowHandle, 16, ‘mono’, ‘true’, ‘false’)
    dev_set_draw (‘fill’)
    dev_set_colored (6)
  • 使用区域列坐标
    select_shape (ConnectedRegions, LeftRegions, ‘column’, ‘and’, 0.0, 256.0)
  • 求取两个对象不同
    obj_diff (ConnectedRegions, LeftRegions, RightRegions)
    dev_clear_window ()
    dev_display (RightRegions)
    disp_message (WindowHandle, ‘Difference of all regions and\nleft hand side regions:\nRight hand side regions’, ‘window’, 12, 12, ‘black’, ‘true’)
    disp_continue_message (WindowHandle, ‘black’, ‘true’)
    stop ()
  • 一个空区域与一个区域的不同
    gen_empty_obj (EmptyObject)
    obj_diff (ConnectedRegions, EmptyObject, ObjectsDiff)
    dev_clear_window ()
    dev_display (ObjectsDiff)
    disp_message (WindowHandle, ‘Difference of all regions and\nan empty object:\nAll regions’, ‘window’, 12, 12, ‘black’, ‘true’)
    disp_continue_message (WindowHandle, ‘black’, ‘true’)
    stop ()
    obj_diff (EmptyObject, LeftRegions, ObjectsDiff)
    dev_clear_window ()
    dev_display (ObjectsDiff)
    disp_message (WindowHandle, ‘Difference of an empty object\nand any other object:\nAn empty object’, ‘window’, 12, 12, ‘black’, ‘true’)
    disp_continue_message (WindowHandle, ‘black’, ‘true’)
    stop ()
  • 图片与图片不在同一对象下,所以完全不同
    read_image (SameImage, ‘particle’)
    obj_diff (Image, SameImage, ObjectsDiff)
    dev_clear_window ()
    dev_display (ObjectsDiff)
    disp_message (WindowHandle, ‘Difference of an image and\nthe same image reloaded:\nThe original image’, ‘window’, 12, 12, ‘black’, ‘true’)
    disp_continue_message (WindowHandle, ‘black’, ‘true’)
    stop ()
  • xld轮廓与图片一样
    gen_contour_polygon_xld (Contour, [50,150,250,250,250], [50,50,50,150,250])
    concat_obj (Region, Contour, RegionAndXLD)
    concat_obj (Region, Image, ImageAndRegion)
    obj_diff (RegionAndXLD, ImageAndRegion, ObjectsDiff)
    dev_clear_window ()
    dev_display (ObjectsDiff)
    disp_message (WindowHandle, ‘Difference of mixed type objects’, ‘window’, 12, 12, ‘black’, ‘true’)

处理思路

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

后记

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值