Halcon LED灯带检测分享

目录

原图

检出图 

示例代码

函数说明 

代码


原图

检出图 

示例代码

函数说明 

LEDSensitivity := 0.6
LEDMinSize := 35
LEDMaxSize := 400
LEDMethod := 1
LEDType :=1
LED (Image, LEDDefectTrans, LEDSensitivity, LEDMethod, LEDType, LEDMinSize, LEDMaxSize, R, G, B, C, I, E, Va, error)

        通过图像分解、色彩空间转换、区域处理、形状分析和颜色亮度计算等步骤,实现了对LED缺陷的精确识别。代码首先进行图像的粗定位和精确定位,然后根据不同的方法计算LED缺陷的颜色和亮度信息。

代码

trygen_empty_obj (LEDDefectTrans)error:=[]*decompose3 (Image, Image1, Image2, Image3)trans_from_rgb (Image1, Image2, Image3, ImageResult1, ImageResult2, ImageResult3, 'hsv')** 粗定位gray_dilation_rect (ImageResult3, ImageMax, 21, 21)threshold (ImageMax, Regions, 50, 255)connection (Regions, ConnectedRegions)select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 14724.8, 50000)union1 (SelectedRegions, ROI_1)dilation_rectangle1 (ROI_1, ROI, 71, 71)shape_trans (ROI, ROI, 'rectangle1')reduce_domain (ImageResult3, ROI, ImageReduced)smallest_rectangle1 (ROI, Row_1, Col_1, Row2, Column2)crop_domain (ImageReduced, ImagePart)** 定位var_threshold (ImagePart, Region, 71, 71, 0.2, 20, 'light')intensity (Region, ImagePart, Mean, Deviation)scale_image (ImagePart, ImageScaled, 1, 128-Mean)scale_image_range (ImageScaled, ImageScaled1, 128-90, 128+90)*Th := 128+127 * (1-LEDSensitivity)threshold (ImageScaled1, Regions_T, Th, 255)opening_circle (Regions_T, RegionOpening, 1.5)closing_rectangle1 (RegionOpening, RegionClosing, 4, 4)connection (RegionClosing, ConnectedRegions1)*select_shape (ConnectedRegions1, LEDDefect_T, 'area', 'and', LEDMinSize, LEDMaxSize)** 色坐标CIEtrans_from_rgb (Image1, Image2, Image3, ImageResult1, ImageResult2, ImageResult3, 'cielab')if(LEDMethod == 1)move_region (LEDDefect_T, LEDDefect, Row_1, Col_1)** 颜色RGBintensity (LEDDefect, Image1, R, Deviation)intensity (LEDDefect, Image2, G, Deviation)intensity (LEDDefect, Image3, B, Deviation)* 色坐标CIEintensity (LEDDefect, ImageResult1, C, Deviation)intensity (LEDDefect, ImageResult2, I, Deviation)intensity (LEDDefect, ImageResult3, E, Deviation)** 亮度Va := (R + G + B)/3.0else** 颜色RGBintersection (LEDDefect_T, Regions_T, RegionIntersection)move_region (RegionIntersection, LEDDefect, Row_1, Col_1)intensity (LEDDefect, Image1, R, Deviation)intensity (LEDDefect, Image2, G, Deviation)intensity (LEDDefect, Image3, B, Deviation)* 色坐标CIEintensity (LEDDefect, ImageResult1, C, Deviation)intensity (LEDDefect, ImageResult2, I, Deviation)intensity (LEDDefect, ImageResult3, E, Deviation)** 亮度Va := (R + G + B)/3.0endifif(LEDType ==1)Type := 'outer_circle'elseType := 'rectangle1'endifshape_trans (LEDDefect, LEDDefectTrans, Type)
catch (Exception)dev_get_exception_data (Exception, 'error_message', Value)gen_empty_obj (LEDDefectTrans)error := Value
endtry
return ()

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/468462.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pytest-Bdd-Playwright 系列教程(7):使用测试代码生成辅助工具

Pytest-Bdd-Playwright 系列教程(7):测试代码生成辅助工具的使用 前言一、代码生成辅助工具的设计思路1.1 功能概览1.2 适用人群 二、如何使用 pytest-bdd 代码生成器三、代码生成器的实际应用场景3.1 初学者的学习和实践3.2 大规模功能测试3…

【每日刷题】Day152

【每日刷题】Day152 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. LCR 176. 判断是否为平衡二叉树 - 力扣(LeetCode) 2. 最大子矩阵_牛客题霸…

【Linux】vmlinux、vmlinuz、zImage、bzImage 的区别

vmlinux vmlinux 是静态链接的可执行文件,但是无法直接加载启动,并且是非压缩的。 zImage and bzImage zImage 和 bzImage 都是 linux 的镜像(image ),前者用于老系统,后者用于新系统,都采用了…

MaxK B:基于 LLM 大语言模型的知识库问答系统!

推荐一个基于大模型的企业级知识库问答系统,支持管理企业知识库、对话问答、RAG 等功能。 企业知识管理的智能化革新在数字化时代,知识管理对于企业的重要性不言而喻。 MaxK B是一个基于 LLM 大语言模型的知识库问答系统,正是为了解决这一挑…

Spring Boot 集成JWT实现Token验证详解

文章目录 Spring Boot 集成JWT实现Token验证详解一、引言二、JWT和Token基础1、什么是Token2、什么是JWT3、JWT的结构4、JWT的工作原理 三、集成JWT1、引入JWT依赖2、创建Token工具类3、创建拦截器4、注册拦截器 四、总结 Spring Boot 集成JWT实现Token验证详解 一、引言 在现…

前端CSS3 渐变详解

文章目录 CSS3 渐变详解一、引言二、CSS3 渐变基础1、线性渐变1.1、基本线性渐变1.2、改变渐变方向 2、径向渐变2.1、基本径向渐变2.2、设置径向渐变的中心 三、高级渐变技巧1、重复渐变1.1、重复线性渐变1.2、重复径向渐变 四、总结 CSS3 渐变详解 一、引言 在现代网页设计中…

openpyxl处理Excel模板,带格式拷贝行和数据填入

本文中用openpyxl操作Excell 模板,进行行拷贝和数据填充. 主要涉及单元格格式的拷贝,合并单元格的拷贝,行高和列宽的处理. 将模板表格分为三部分,头部,中间循环填充部分,尾部.模板参数中设置头部高度,循环部分高度,剩余为尾部. 拷贝时先拷贝填充头部 ,然后根据数据循环拷贝填…

IEEE 1588:电信网络的精确时间协议 (PTP)

IEEE 1588:电信网络的精确时间协议 IEEE 1588 PTP 概述PTP 协议特征同步类型IEEE 1588 PTP 角色IEEE 1588 PTP 的工作原理PTP 设备类型PTP 消息类型事件消息一般信息 PTP 时钟类规范PTP 配置文件 https://www.techplayon.com/ieee-1588-precision-time-protocol-ptp…

DataFrame

目录 一、创建DataFrame二、Sql语法三、DSL语法四、RDD与DataFrame互相转换 一、创建DataFrame 在SparkSql中SparkSession是创建DataFrame和执行Sql的入口,创建DataFrame有三种方式: 通过Spark的数据源进行创建 从一个存在的RDD进行转换 从Hive Tabl…

Redis 高并发分布式锁实战

目录 环境准备 一 . Redis 安装 二:Spring boot 项目准备 三:nginx 安装 四:Jmeter 下载和配置 案例实战 优化一:加 synchronized 锁 优化二:使用 redis 的 setnx 实现分布式锁 优化三:使用 Lua 脚本…

参数估计理论

估计理论的主要任务是在某种信号假设下,估算该信号中某个参数(比如幅度、相位、达到时间)的具体取值。 参数估计:先假定研究的问题具有某种数学模型, 如正态分布,二项分布,再用已知类别的学习样…

[vulnhub] DarkHole: 2

https://www.vulnhub.com/entry/darkhole-2,740/ 端口扫描主机发现 探测存活主机,185是靶机 # nmap -sP 192.168.75.0/24 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-08 18:02 CST Nmap scan report for 192.168.75.1 Host is up (0.…

【温度表达转化】

【温度表达转化】 C语言代码C代码Java代码Python代码 💐The Begin💐点点关注,收藏不迷路💐 利用公式 C5∗(F−32)/9 (其中C表示摄氏温度,F表示华氏温度) 进行计算转化。 输出 输出一行&#x…

【Promise】JS 异步之宏队列与微队列

文章目录 1 原理图2 说明3 相关面试题3.1 面试题13.2 面试题23.3 面试题33.4 面试题4 1 原理图 2 说明 JS 中用来存储待执行回调函数的队列包含 2 个不同特定的队列:宏队列和微队列。宏队列:用来保存待执行的宏任务(回调),比如:定…

【Linux】Linux入门实操——vim、目录结构、远程登录、重启注销

一、Linux 概述 1. 应用领域 服务器领域 linux在服务器领域是最强的,因为它免费、开源、稳定。 嵌入式领域 它的内核最小可以达到几百KB, 可根据需求对软件剪裁,近些年在嵌入式领域得到了很大的应用。 主要应用:机顶盒、数字电视、网络…

ubuntu下aarch64-linux-gnu(交叉编译) gdb/gdbserver(二)

ubuntu下aarch64-linux-gnu(交叉编译) gdb/gdbserver(二) 本教程作为gdb/gdbserver编译安装教程的一个补充,教会大家如何使用gdb/gdbserver进行远程调试。 如上图所示,我们需要将编译后的gdbserver上传至目标设备,其上…

Flutter错误: uses-sdk:minSdkVersion 16 cannot be smaller than version 21 declared

前言 今天要做蓝牙通信的功能,我使用了flutter_reactive_ble这个库,但是在运行的时候发现一下错误 Launching lib/main.dart on AQM AL10 in debug mode... /Users/macbook/Desktop/test/flutter/my_app/android/app/src/debug/AndroidManifest.xml Err…

c中柔性数组

c99中,结构中最后一个元素允许是未知大小的数组,这就叫柔性数组成员。 柔性数组的特点 1.结构中柔性数组前必须至少有一个其他成员 2.sizeof返回的这种结构大小不包括柔性数组的内存 3.包含柔性数组成员的结构用malloc函数进行动态分配,并…

WPS 默认模板修改

重装系统把word自定义样式搞没了,安装office时间太长,转战wps 解决方案 打开wps 点击【新建】word空白文档 设置修改你自己的样式 点击文件–另存为–Microsoft Word 带宏的模板文件(*.dotm) 另存路径为如下: 查…

Ubuntu24.04网络异常与应对方案记录

PS: 参加过408改卷的ZJU ghsongzju.edu.cn 开启嘲讽: 你们知道408有多简单吗,操作系统真实水平自己知道就行~~ Requested credits of master in UWSC30,in ZJU24,domestic master is too simple ubuntu安全软件 在 U…