Halcon 检测焊点短路

news/2024/11/8 17:13:31/

Halcon 检测焊点短路

read_image (Image1, 'D:/image/bilibili/photo/检测焊接短路 (4).bmp')
dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
dev_display (Image1)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
threshold (Image1, Region, 0, 80)
opening_circle (Region, RegionOpening, 3.5)
connection (RegionOpening, ConnectedRegions)
fill_up (ConnectedRegions, RegionFillUp)
connection (RegionFillUp, ConnectedRegions1)
select_shape (RegionFillUp, SelectedRegions, 'area', 'and',9174.31, 372477)
dev_display (Image1)
smallest_rectangle2 (SelectedRegions, Row, Column, Phi, Length1, Length2)
gen_rectangle2 (Rectangle, Row-145, Column-5, Phi, Length1, Length2)reduce_domain (Image1, Rectangle, ImageReduced)
mean_image (ImageReduced, ImageMean, 9, 9)
threshold (ImageMean, Region1, 128, 255)
connection (Region1, ConnectedRegions2)
select_shape (ConnectedRegions2, SelectedRegions1, 'area', 'and', 0.86, 414)
sort_region (SelectedRegions1, SortedRegions, 'first_point', 'true', 'column')
count_obj (SortedRegions, Number)
flag:=0
dev_set_draw ('margin')
for Index := 1 to Number by 1select_obj (SortedRegions, ObjectSelected, Index)area_center (ObjectSelected, Area, Row1, Column1)if(Area>300)gen_circle (Circle, Row1, Column1, 20.5)flag:=flag + 1disp_message (WindowHandle, 'FALSE', 'Image1', 0, 0, 'red', 'true')endif
endfor
if(flag == 0)disp_message (WindowHandle, 'PASS', 'Image1', 0, 0, 'green', 'true')
endif

请添加图片描述


http://www.ppmy.cn/news/1278515.html

相关文章

Python中的面向对象编程

导读:本文旨在帮助读者从基础到高级逐步掌握Python的面向对象编程。 目录 OOP基础:构建块 类和对象 定义和实例化类 属性和方法 类属性和实例属性 继承 基本继承 深入理解OOP特性 封装 封装的概念 私有属性和方法 多态 多态性的好处 在Py…

在laravel 项目中 composer.json 中 autoload 配置是什么作用

在 Laravel 项目中,composer.json 文件是一个重要的文件,它用于定义项目依赖以及一些 Composer 的配置。其中 autoload 是一个键(key),其下定义了如何自动加载 PHP 类库。 autoload 的作用是告诉 Composer 和 PHP 解释…

【C++多线程编程】(五)之 线程生命周期管理join() 与 detach()

在C中,std::thread 类用于创建和管理线程。std::thread 提供了两种主要的方法来控制线程的生命周期:join 和 detach。 detach方式,启动的线程自主在后台运行,当前的代码继续往下执行,不等待新线程结束。join方式&…

【C语言】记录一次自己犯下的低级错误 o(╯□╰)o(局部数组与指针数组的传参、赋值)

在这里分享一下本人犯下的低级错误,希望大家别掉同样的坑 o(╥﹏╥)o 文章目录 事情原委错误分析及解救办法错误一: 使用局部数组arr并将其作为返回值解决方法:使用动态内存分配来创建数组,并在函数结束前手动释放内存。 错误二&…

核货宝订单管理系统提高企业效率

核货宝订单管理系统可以帮助企业提高效率,具体体现在以下几个方面: 一、订单自动化处理:核货宝订单管理系统支持订单批发和多渠道订单导入,它可以从订单的接收、处理、跟进、发货、到售后服务等环节都可以通过系统自动完成&#x…

Node.js安装部署

Node.js安装部署 在 Windows 上安装 Node.js1.使用安装程序2.使用包管理器 Chocolatey 安装 在 macOS 上安装 Node.js1.使用 Homebrew 安装 在 Linux 上安装 Node.js1.使用包管理器安装2.使用 Node.js 官方二进制包 安装完成验证 Node.js 是一个基于 Chrome V8 引擎的 JavaScri…

Qt WebAssembly开发环境配置

目录 前言1、下载Emscripten SDK2、 安装3、环境变量配置4、QtCreator配置5、运行示例程序总结 前言 本文主要介绍 Qt WebAssembly 开发环境的配置。Qt for Webassembly 可以使Qt应用程序在Web上运行。WebAssembly(简称Wasm)是一种能够在虚拟机中执行的…

Linux--Shell脚本应用实战

实验环境 随着业务的不断发展,某公司所使用的Linux服务器也越来越多。在系统管理和维护过程中,经 常需要编写一些实用的小脚本,以辅助运维工作,提高工作效率。 需求描述 > 编写一个名为getarp.sh的小脚本,记录局域…