Halcon 环形检测(瓶口缺陷检测)

图片资源文件:
链接:https://pan.baidu.com/s/1WETQA8UEp21D8kI6IJI2ig
提取码:o9ld
在这里插入图片描述
主程序代码:

************1、初始化变量****************
* 均值滤波参数
SmoothX := 501

ThresholdOffset := 25
MinDefectSize := 50

* 坐标系转换后图片尺寸
PolarResolution := 640 
* 环形尺寸
RingSize := 70

************2、参数设置****************
get_system ('store_empty_region', StoreEmptyRegion)
set_system ('store_empty_region', 'false')
dev_update_off ()
dev_close_window ()
dev_close_window ()

************3、显示第一张图片****************
read_image (Image, 'img/bottle_mouth_01')

dev_open_window_fit_image (Image, 0, 0, -1, -1, WindowHandle)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
dev_display (Image)
dev_set_draw ('margin')
dev_set_line_width (3)


************4、垂直图***********************
dev_open_window_fit_size (0, 648, RingSize, PolarResolution, 150, 512, WindowHandle1)
dev_set_draw ('margin')
dev_set_line_width (3)
dev_set_color ('red')

dev_set_window (WindowHandle)

************5、循环处理图片****************
for Index:=2 to 16 by 1
    read_image (Image, 'img/bottle_mouth_' + Index$'.02')
    get_circle_defect (Image, WindowHandle, WindowHandle1, \
                       RingSize, PolarResolution, SmoothX)
    if (Index<16)
        disp_continue_message (WindowHandle, 'black', 'true')
        stop ()
    endif
    
endfor
get_system ('store_empty_region', StoreEmptyRegion)

图片处理

在这里插入图片描述

dev_display (Image)
***********1、获取瓶口圆形****************************
* 自动阈值
auto_threshold (Image, Regions, 2)
* 选中瓶口区域
select_obj (Regions, DarkRegion, 1)
* 开运算
opening_circle (DarkRegion, RegionOpening, 3.5)
* 闭运算
closing_circle (RegionOpening, RegionClosing, 25.5)

***********2、截取瓶口外边界图片***************************
* 填充瓶口区域
fill_up (RegionClosing, RegionFillUp)
* 获取外边界
boundary (RegionFillUp, RegionBorder, 'outer')
* 外边界膨胀运算
dilation_circle (RegionBorder, RegionDilation, 3.5)
* 获取外边界区域图片
reduce_domain (Image, RegionDilation, ImageReduced)

***********3、外边界边缘检测 选择最长的圆形****************************
* 边缘检测
edges_sub_pix (ImageReduced, Edges, 'canny', 0.5, 20, 40)
* 分割先与圆形
segment_contours_xld (Edges, ContoursSplit, 'lines_circles', 5, 4, 2)
* 联合连通域
union_cocircular_contours_xld (ContoursSplit, UnionContours, \
                               0.9, 0.5, 0.5, 200, 50, 50, 'true', 1)
* 计算连通域长度
length_xld (UnionContours, Length)
* 选择最长的连通域
select_obj (UnionContours, LongestContour, sort_index(Length)[|Length|-1]+1)

***********4、拟合成圆形****************************
* 拟合成圆形
fit_circle_contour_xld (LongestContour, 'ahuber', -1, 0, 0, 3, 2, Row, Column, Radius, StartPhi, EndPhi, PointOrder)
* 绘制圆形
gen_circle (Circle, Row, Column, Radius)

***********5、获取图片环形****************************
* 膨胀
dilation_circle (Circle, RegionDilation, 5)
* 收缩
erosion_circle (Circle, RegionErosion, RingSize-5)
* 环形mask
difference (RegionDilation, RegionErosion, RegionDifference)
* 截取环形图片
reduce_domain (Image, RegionDifference, ImageRing)

***********6、直角坐标系转换成极坐标系*******************
* 坐标系转换
polar_trans_image(ImageRing, ImagePolar, Row, Column, PolarResolution, Radius+5)
* 剪切矩形
crop_part (ImagePolar, ImagePart, Radius-RingSize, 0, PolarResolution, RingSize)
* 灰度范围修改
scale_image_max (ImagePart, ImageScaleMax)
* 强力水平均值滤波
mean_image (ImageScaleMax, ImageMean, SmoothX, 3)

***********7、缺陷的计算与筛选*******************
* 局部阈值处理(不同的差值) 与均值滤波图片对比
dyn_threshold (ImageScaleMax, ImageMean, Regions1, 50, 'not_equal')
* 连通分析
connection (Regions1, Connection)
* 过滤缺陷(9以上的区域)
select_shape (Connection, SelectedRegions, 'height', 'and', 9, 99999)
* 闭运算(矩形)
closing_rectangle1 (SelectedRegions, RegionClosing1, 10, 20)
* 连接连通域
union1 (RegionClosing1, RegionUnion)

***********8、缺陷连通域转换成直角坐标系*******************
* 缺陷转换成
polar_trans_region_inv (RegionUnion, XYTransRegion, \
                        Row, Column, 6.28319, 0, \
                        Radius-RingSize, Radius, 640, RingSize, \
                        1280, 1024, 'nearest_neighbor')

***********9、显示缺陷结果***************************
dev_set_window (WindowHandle)
dev_display (Image)
dev_set_color ('blue')
dev_display (RegionDifference)
dev_set_color ('red')
dev_display (XYTransRegion)
count_obj (RegionUnion, Number)

if (Number > 0)
    disp_message (WindowHandle, 'NG', 'window', -1, -1, 'red', 'false')
else
    disp_message (WindowHandle, 'OK', 'window', -1, -1, 'green', 'false')    
endif

***********10、显示垂直缺陷结果***************************
dev_set_window (WindowHandle1)
* 旋转图片90度
rotate_image (ImagePart, ImageRotate, 90, 'constant')

if (Number > 0)
    * 对角线镜像
    mirror_region (RegionUnion, RegionMirror, 'diagonal', PolarResolution)
    * 水平镜像
    mirror_region (RegionMirror, RegionMirror, 'row', PolarResolution)
    
    dev_display (ImageRotate)
    dev_display (RegionMirror)

dev_set_window (WindowHandle)
return ()
  • 0
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Halcon瓶口缺陷检测是一种利用Halcon软件平台来对瓶口进行缺陷检测的技术。该技术能够对瓶口进行高速、高精度、高效的检测,可检测瓶口上的各种缺陷,如划痕、裂纹、变形、异物等,确保瓶口质量符合标准,防止瓶口在使用过程中出现安全隐患。 Halcon瓶口缺陷检测技术主要通过视觉识别和图像分析技术实现。该技术能够通过高精度的图像处理技术,将瓶口图像中的缺陷信息提取出来,然后再利用专业的算法对缺陷进行分类、识别和判断,实现自动化检测。 相比传统的手工检测方式,Halcon瓶口缺陷检测技术具有以下优点: 1. 高效快速:能够对大量瓶口进行高效、快速的检测,大大提高生产效率。 2. 高精度、高准确性:能够通过图像处理技术实现对瓶口缺陷的高精度、高准确性的检测,不会遗漏或误判。 3. 自动化程度高:实现完全自动化检测,避免人工干预,减少人力成本和误判率。 4. 提高产品质量:检测能力强,缺陷检测率高,能够有效提高产品质量,防止产品出现安全问题。 综上所述,Halcon瓶口缺陷检测技术是一种高效、精准、自动化的检测技术,可为瓶口制造企业提供精准的缺陷检测服务,提高产品质量和生产效率,同时也能够降低成本,为企业带来更多的利润和竞争优势。 ### 回答2: Halcon瓶口缺陷检测是近年来越来越受到关注的一个领域,其主要应用于药品、食品等行业的生产环节中,以确保产品的安全可靠性。首先我们需要了解什么是瓶口缺陷,瓶口缺陷是指在瓶盖封口处出现的缺陷,例如瓶盖不严密、渗漏现象、异物等等。这些缺陷可能会对产品的品质及安全造成影响,甚至可能威胁到使用者的身体健康。 Halcon瓶口缺陷检测是通过计算机视觉技术以及人工智能算法来实现的。首先,利用高清相机对瓶子的封口处进行拍照,将图像传输到计算机中进行图像处理,通过算法分析,可以识别出是否存在封口缺陷。在这个过程中,Halcon使用了一整套完整的图像分析技术,如几何形态分析、颜色分析、纹理分析等等,确保了检测的准确性和稳定性。 Halcon瓶口缺陷检测技术的特点在于高速度和高精度。使用该技术可以大大提高生产效率和产品质量,减少产品的风险。此外,该技术还可以节约人力成本和时间,提高生产过程的自动化程度,同时大大降低了对环境和能源的消耗。 总的来说,Halcon瓶口缺陷检测技术的出现,为行业提供了有效的方案,提高了产品的安全性和质量,使得生产过程更加高效、可靠、自动化。该技术的应用前景广阔,并将在未来进一步拓展到其他领域,将大大提升各个行业的生产效益和质量标准。 ### 回答3: Halcon瓶口缺陷检测是一种基于人工智能技术的瓶口缺陷检测解决方案。该方案针对瓶口的多种缺陷类型,如碎边、脱毛、裂纹、瑕疵等,进行快速而准确的检测,同时提供丰富的分析数据和报告。 该方案主要采用了深度学习技术,通过对瓶口缺陷数据的训练和学习,建立了高效、准确的瓶口缺陷识别模型,实现了快速自动化的瓶口缺陷检测。 具体来说,该方案采用了卷积神经网络(CNN)模型,通过对瓶口图像的卷积、池化和全连接等操作,提取图像的特征信息,从而实现对瓶口缺陷的准确识别和检测。 同时,该方案还融合了图像处理、机器视觉等技术,提高了瓶口缺陷检测系统的性能和可靠性。例如,对图像进行预处理、去噪、增强等操作,提高了瓶口图像的质量和清晰度;同时,利用机器视觉技术,对图像中的瓶口进行准确定位和标注,保证了瓶口缺陷检测的精度和稳定性。 总体来说,Halcon瓶口缺陷检测解决方案是一种高效、准确、可靠的智能化检测方案,可以为化妆品、药品、饮料等行业提供优质的瓶口缺陷检测服务,提高产品质量和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

廷益--飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值