halcon 产品周围缺口检测

本文介绍了一种基于图像处理技术的产品缺陷检测方法。从读取图像到缺陷区域的识别及统计,详细阐述了图像预处理、特征提取及目标检测等关键步骤。通过对图像进行阈值分割、连通域分析、形状选择、填充、区域转换等操作,实现了对产品外轮廓的精确捕捉及缺陷区域的有效识别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    *读取一张图像
    read_image (Image, '原图.jpg')
    
    *获取图像大小
    get_image_size(Image, Width, Height)
    
    *关闭已经打开的窗口
    dev_close_window ()
    
    *打开新窗口
    dev_open_window(0, 0, Width, Height, 'black', WindowHandle)  //打开指定大小的窗口
    
    *对图像进行阈值操作
    threshold (Image, Region, 0, 50)
    
    *对区域进行连通处理
    connection (Region, ConnectedRegions)
    
    *过滤出产品的外轮廓区域
    select_shape (ConnectedRegions, SelectedRegions, 'ra', 'and', 10, 200)
    
    *对轮廓区域进行填充
    fill_up (SelectedRegions, RegionFillUp)
    
    *将区域转化为最小外接圆
    shape_trans (SelectedRegions, RegionTrans, 'outer_circle')
    
    *通过补集运算获取产品缺口区域
    difference (RegionTrans, RegionFillUp, RegionDifference)
    
    *对缺口区域进行腐蚀操作
    erosion_circle (RegionDifference, RegionErosion, 1)
    
    *把一个区域转变为一个二进制字节图像。
    region_to_bin (RegionErosion, BinImage, 255, 0, 656, 492)
    
    *对图像进行阈值操作
    threshold (BinImage, Region1, 255, 255)
    
    *对阈值区域连通处理
    connection (Region1, ConnectedRegions1)
    
    *设置输出对象显示颜色
    dev_set_color('blue')
    
    *过滤出想要的缺口区域
    select_shape (ConnectedRegions1, SelectedRegions1, ['ra','rb'], 'and', [5,1], [10,5])
    
    *统计出缺口的数目
    count_obj (SelectedRegions1, Number)
    
    *显示图像
    dev_display (Image)
    
    *显示缺陷区域
    dev_display (SelectedRegions1)


   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值