赞
踩
这段代码是使用HALCON软件编写的,HALCON是一个用于机器视觉和图像分析的高级软件包。代码的主要目的是创建一个可变形模型,然后使用这个模型在一系列图像中搜索特定的模式,并评估搜索结果。
dev_update_off ()
Smoothness := 25
read_image (ModelImage, ‘gasket/gasket_model’)
read_image (Image, ‘gasket/gasket_01’)
dev_close_window ()
dev_open_window_fit_image (ModelImage, 0, 0, 500, -1, WindowHandle1)
set_display_font (WindowHandle1, 16, ‘mono’, ‘true’, ‘false’)
get_window_extents (WindowHandle1, Row, Column, Width, Height)
dev_open_window_fit_image (Image, 0, Width + 12, 1024 - Width - 36, -1, WindowHandle2)
set_display_font (WindowHandle2, 16, ‘mono’, ‘true’, ‘false’)
*
gasket_model图片:
gasket_01图片:
以下是待检测的图片:
gasket_01.png~gasket_07.png
以下是程序运行结果:
以下是代码的主要步骤和功能:
初始化和窗口设置:设置平滑度(Smoothness)为25,读取模型图像(ModelImage)和第一张搜索图像(Image),然后关闭和重新打开窗口以适应图像大小。
创建变体模型:使用sobel_amp函数提取模型图像的边缘幅度,然后创建并准备一个直接变体模型(VariationModelID)。
创建局部可变形模型:使用create_local_deformable_model函数创建一个局部可变形模型(ModelID),并获取其轮廓。
显示模型图像和轮廓:在第一个窗口中显示模型图像和轮廓,并显示相关信息。
迭代处理图像:循环处理指定数量的图像(NumImages),对每张图像执行以下操作:
读取图像。
显示图像并提示正在搜索。
使用find_local_deformable_model函数在图像中搜索模型,获取结果(如校正后的图像、向量场、变形轮廓)。
计算搜索时间并评估搜索得分。
如果找到匹配项,生成变形区域、边缘区域,并在窗口中显示相关信息。
如果匹配得分大于,进一步处理以检查部件是否合格。
评估部件合格性:使用compare_variation_model函数比较校正后的图像,然后使用select_shape函数选择特定区域,并评估这些区域的中心和椭圆轴。如果找到的区域数量大于,生成一个椭圆轮廓并在窗口中显示,表示部件不合格。
清理:在处理完所有图像后,清理可变形模型和变体模型。
代码中使用了多个HALCON函数,如read_image、dev_open_window_fit_image、set_display_font、get_window_extents、dev_set_window、dev_display、disp_message等,用于图像读取、窗口管理、显示和信息提示。
请注意,这段代码是一个示例,可能需要根据实际应用场景进行调整。例如,图像路径、模型参数和搜索条件可能需要根据具体任务进行修改。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。