您好,欢迎来到刀刀网。
搜索
您的当前位置:首页基于Halcon的图像掩膜

基于Halcon的图像掩膜

来源:刀刀网

       图像掩膜即用选定的图像、图形或物体,对处理的图像(全部或局部)进行遮挡,来控制图像处理的区域或处理过程。掩膜是两幅图像之间进行的各种位运算操作。比如与、或、非运算与普通的位运算类似。  通过掩膜可以 提取感兴趣区, 屏蔽作用。

案例分析

原图

目标提取除去圆孔外的轮廓

掩膜区域

案例代码

read_image (ModelImage, 'E:/Halcon数据/测量程序/区域/掩膜/113.PNG.bmp')
dev_get_window (WindowHandle)
get_image_size (ModelImage, Width1, Height1)
gen_empty_obj (Region)
Area:=[]
for Index := 1 to 9 by 1
*     draw_region (Region1, WindowHandle)
    draw_circle (WindowHandle, Row, Column, Radius)
    gen_circle (Circle, Row, Column, Radius)
    concat_obj (Region, Circle, Region)
    area_center (Circle, Area1, Row1, Column1)
    Area:=[Area,Area1]
endfor
AreV:=max(Area)
stop ()
dev_clear_window ()
dev_display (ModelImage)
dev_display (Region)
gen_rectangle1 (Rectangle, 0, 0, Height1, Width1)
difference (Rectangle, Region, RegionComplement)
reduce_domain (ModelImage, RegionComplement, ImageReduced)
rgb1_to_gray (ImageReduced, GrayImage)
threshold (GrayImage, Region1, 0, 125)
fill_up_shape (Region1, RegionFillUp, 'area', 1, AreV+1)
region_to_bin (RegionFillUp, BinImage, 0, 255, Width1, Height1)
edges_sub_pix (BinImage, Edges, 'canny', 1, 20, 40)
count_obj (Edges, Number)
gen_empty_obj (XLD)
for Index1 := 1 to Number by 1
    select_obj (Edges, ObjectSelected, Index1)
    concat_obj ( XLD,ObjectSelected, XLD)
endfor
dev_display (ModelImage)
dev_display (XLD)

轮廓效果

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- gamedaodao.com 版权所有 湘ICP备2022005869号-6

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务