Halcon Blob分析提取小光斑
文章目录
- 算子
- complement 返回一个区域的补集
- select_region_point 选择包含指定像素的所有区域
- intensity 计算灰度值的均值和偏差
- 案例
算子
complement 返回一个区域的补集
complement(Region : RegionComplement : : )Region (输入对象):这指的是输入的一个或多个图像区域。这些区域通常是通过图像处理技术(如阈值处理、边缘检测等)从原图中提取出来的。RegionComplement (输出对象):这是指输入区域的补集区域。如果输入的“Region”是图像的一部分,那么“RegionComplement”就是除了这部分以外的图像其他部分。
select_region_point 选择包含指定像素的所有区域
select_region_point(Regions : DestRegions : Row, Column : )Regions (输入对象):待检查的区域数组。这些区域是图像处理过程中识别出的一系列区域。DestRegions (输出对象):包含测试像素的所有区域数组。输出将是那些包含了由 Row 和 Column 参数指定位置的像素的所有区域。Row (输入控制):测试像素所在的行索引。这是一个整数类型的参数,默认值为 100。它指定了像素在图像中的垂直位置。Column (输入控制):测试像素所在的列索引。这也是一个整数类型的参数,默认值为 100。它指定了像素在图像中的水平位置。
intensity 计算灰度值的均值和偏差
intensity(Regions, Image : : : Mean, Deviation)Regions (输入对象):在此区域内计算特征。这些区域是从图像中分割出来的一部分或多部分,通常是感兴趣区域(ROI, Regions Of Interest)。Image (输入对象):单通道图像,通常是指灰度图像。它可以是多种类型的单通道图像,包括但不限于字节类型 (byte)、方向类型 (direction)、循环类型 (cyclic)、整型 (int1, int2, uint2, int4) 或浮点型 (real)。Mean (输出控制):一个区域的平均灰度值。如果输入的 Regions 是一个数组,则 Mean 也会是一个数组,其中每个元素对应于输入区域数组中的一个区域的平均灰度值。Deviation (输出控制):区域内灰度值的标准偏差。与 Mean 类似,如果输入的 Regions 是多个区域,则 Deviation 也会是一个数组,其中每个元素对应于输入区域数组中的一个区域的灰度值标准偏差。
案例
* particle.hdev: Measurement of small particles
*
dev_update_off ()
dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowID)
set_display_font (WindowID, 14, 'mono', 'true', 'false')
read_image (Image, 'particle')
dev_display (Image)
dev_disp_text ('Original image', 'window', 12, 12, 'black', [], [])
dev_disp_text ('Press Run (F5) to continue', 'window', 'bottom', 'right', 'black', [], [])
stop ()
* 阈值处理
threshold (Image, Large, 110, 255)
* Dilate regions with a circular structuring element
* 膨胀
dilation_circle (Large, LargeDilation, 7.5)
dev_display (Image)
dev_set_draw ('margin')
dev_set_line_width (3)
dev_set_color ('red')
dev_display (LargeDilation)
dev_set_draw ('fill')
dev_disp_text ('Exclude large areas from processing', 'window', 12, 12, 'black', [], [])
dev_disp_text ('Press Run (F5) to continue', 'window', 'bottom', 'right', 'black', [], [])
stop ()
* Continue to calculate small regions
* Return the complement of a region
*获取补集
complement (LargeDilation, NotLarge)
*将原图-补集
reduce_domain (Image, NotLarge, ParticlesRed)
* 去除杂志
mean_image (ParticlesRed, Mean, 31, 31)
* Segment the image using a local threshold
*获取亮点阈值
dyn_threshold (ParticlesRed, Mean, SmallRaw, 3, 'light')
* 亮点进行开运算
opening_circle (SmallRaw, Small, 2.5)
* 连接亮点
connection (Small, SmallConnection)
dev_display (Image)
dev_set_colored (12)
dev_display (SmallConnection)
dev_disp_text ('Extracted small particles', 'window', 12, 12, 'black', [], [])
dev_disp_text ('Press Run (F5) to continue', 'window', 'bottom', 'right', 'black', [], [])
stop ()
* Continue to select several regions and to get information
dev_set_color ('green')
dev_display (Image)
dev_set_draw ('margin')
dev_display (SmallConnection)
Button := 1
* Define limits for the displayed message at the end of the while-loop.
MaxRow := 450
MaxColumn := 440
MinRow := 40
MinColumn := 100
while (Button == 1)dev_disp_text (['Select object with left mouse button','Right button to quit'], 'window', 12, 12, 'black', 'box_color', '#fce9d4dd')dev_set_color ('green')* 点击区域点get_mbutton (WindowID, Row, Column, Button)dev_display (Image)dev_display (SmallConnection)dev_set_color ('red')* 获取到选中的区域select_region_point (SmallConnection, SmallSingle, Row, Column)dev_display (SmallSingle)count_obj (SmallSingle, NumSingle)if (NumSingle == 1)* 计算平均灰度值和偏差intensity (SmallSingle, Image, MeanGray, DeviationGray)*获取区域面积大小area_center (SmallSingle, Area, Row, Column)* Limit the message so that it is displayed entirely inside the graphics window.if (Row > MaxRow)Row := MaxRowendifif (Column > MaxColumn)Column := MaxColumnendifif (Row < MinRow)Row := MinRowendifif (Column < MinColumn)Column := MinColumnendifdev_disp_text (['Area = ' + Area,'Intensity = ' + MeanGray$'.3'], 'image', Row + 10, Column - 90, 'black', 'box_color', '#fce9d4dd')endif
endwhile
dev_set_line_width (1)
dev_update_on ()
相关文章:

Halcon Blob分析提取小光斑
文章目录 算子complement 返回一个区域的补集select_region_point 选择包含指定像素的所有区域intensity 计算灰度值的均值和偏差 案例 算子 complement 返回一个区域的补集 complement(Region : RegionComplement : : )Region (输入对象):这指的是输入的一个或多…...
Lua
1.声明一个变量 只要赋值一个变量,就相当于新建了一个变量,默认全局变量,加一个local前缀之后,这个变量就变成了局部变量 a1//全局变量 local b2//局部变量2.nil类型 在Lua里没有被声明过的变量都是nil,nil是一种类…...

模型 总观效应
系列文章 分享 模型,了解更多👉 模型_思维模型目录。超越自我,洞见生命之渺小。 1 总观效应的呈现和应用 1.1 回首创业路,星辰大海的启示 陈浩是一名连续创业者,他的创业历程充满了起伏和挑战。在经历了几次失败后&a…...

【HarmonyOS NEXT】实现页面水印功能
关键词:鸿蒙、水印、Watermark、页面、触摸问题 注:本期文章同样适用 OpenHarmony 的开发 在app开发过程中时常会出现敏感信息页面,为保护信息安全和及时的数据追踪,通常会采用给页面加水印的形式,那么本期文章会介绍…...

selenium自动化测试之Junit
1. 常用的注解 将junit的索引添加到pom文件: <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api --><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId&…...

【氮化镓】基于氮化镓的互补逻辑集成电路[Nature Electronics]
【摘要】本文介绍了一种基于氮化镓(GaN)的互补金属氧化物半导体(CMOS)逻辑集成电路,该电路利用氧等离子体处理技术实现了增强型n沟道和p沟道GaN场效应晶体管的单片集成。研究者们展示了包括反相器、与非门、或非门和传输门在内的基本逻辑门,以及多级逻辑电路,如锁存器和…...

Linux之如何找回 root 密码?
1、启动系统,进入开界面,在界面中按“e"进入编辑界面 2、进入编辑界面,使用键盘上的上下键把光标往下移动,找到以”Linux16“开通内容所在的行数,在行的最后面输入:init/bin/sh 3、输入完成后&…...
后端参数校验方式
1. 使用Hibernate Validator进行注解校验 这是Java中最常用的参数校验方式,基于JSR 303/JSR 380规范的实现,通常结合Valid或Validated注解进行参数校验。 使用步骤: 添加依赖(如果使用Spring Boot,通常已经内置了Hi…...

访问控制列表(课内实验)
实验2:访问控制列表 实验目的及要求: 通过实验,进一步的理解标准ACL与扩展ACL的工作原理及执行过程。理解通配符的概念,熟练掌握标准ACL与扩展ACL的配置指令,掌握将访问控制列表应用VTY线路上,并且能够判断…...

处理Java内存溢出问题(java.lang.OutOfMemoryError):增加JVM堆内存与调优
处理Java内存溢出问题(java.lang.OutOfMemoryError):增加JVM堆内存与调优 在进行压力测试时,遇到java.lang.OutOfMemoryError: Java heap space错误或者nginx报错no live upstreams while connecting to upstream通常意味着应用的…...
数据分析库Pandas
一、认识Pandas数据分析库 Pandas是一个功能强大的数据分析库,它提供了丰富的数据结构和函数来处理和分析表格数据。在处理类似您提供的Excel文件时,首先需要导入Pandas库并读取数据,然后进行数据清洗和预处理,最后进行数据分析和…...
nginx做负载均衡的策略有哪些和模块
文章目录 策略模块 策略 轮询:轮询是Nginx默认的负载均衡策略,每个请求会按时间顺序分配到不同的后端服务器。这种方式适用于服务器配置相当且无状态的服务场景。加权轮询:在轮询的基础上,通过设置权重来调整不同服务器处理请求的…...

基于SSM社区医院预约转诊管理系统JAVA|VUE|Springboot计算机毕业设计源代码+数据库+LW文档+开题报告+答辩稿+部署教+代码讲解
源代码数据库LW文档(1万字以上)开题报告答辩稿 部署教程代码讲解代码时间修改教程 一、开发工具、运行环境、开发技术 开发工具 1、操作系统:Window操作系统 2、开发工具:IntelliJ IDEA或者Eclipse 3、数据库存储:…...
Android适配器更改,ListView未收到通知解析
只需要在每次适配器发生变化时,调用函数adapter.notifyDataSetChanged(); 其中的adapter是适配器名。 需要说明的适配器对应的数组:List<String>也是适配器的一部分。 如:以下代码中的lists数组 List<T> lists new ArrayLis…...

ubuntu18.04系统中图形化界面
一、Ubuntu 18.04 中,使用 GDM 作为默认的图形用户界面(GUI)管理器。GDM 是 GNOME Display Manager 的缩写,它是用于 Ubuntu 的显示管理器,负责处理登录和会话管理。 通过命令行重启 Ubuntu 18.04 上的图形界面服务&am…...

深入Semantic Kernel:插件开发与实践应用(进阶篇)
文章目录 一、引言二、开发Semantic Kernel插件三、实战3.1 时间信息插件3.2 小部件工厂插件3.3 初始化Semantic Kernel实例3.4 四个实战示例3.4.1 模型幻觉3.4.2 给模型提供时间信息3.4.3 AI自动调用函数3.4.4 AI自动调用和使用枚举 四、结论 一、引言 在上一篇入门文章《探索…...

基于SpringBoot+Vue+Uniapp的植物园管理小程序系统(2024最新,源码+文档+远程部署+讲解视频等)
3. 论文参考 4. 项目运行截图 5. 技术框架 5.1 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念,提供了一套默认的配置,让开发者可以更专注于业务逻辑而不是配置文件。Spring …...
2024zzuacm新生选拔赛第一场
2024zzuacm新生选拔赛第一场https://ac.nowcoder.com/acm/contest/92409 python代码源自我有异议症QAQ A - 降智视频 题意 起初有n个数都在丁丁手中,进行如下操作k次: 豆豆从丁丁手中拿走标号为奇数的数。对丁丁的其他的数进行重新标号。 问进行k次…...

IP地址如何支持远程办公?
由于当今社会经济的飞速发展,各个方向的业务都不免接触到跨省、跨市以及跨国办公的需要,随之而来的远程操作的不方便,加载缓慢,传输文件时间过长等困难,如何在万里之外实现远程办公呢?我们以以下几点进行阐…...

spring 集合注入格式
数组 List Set Map properties 案例 package org.example.dao.impl;import org.example.dao.BookDao;import java.util.List; import java.util.Map; import java.util.Properties; import java.util.Set;public class BookDaoImpl implements BookDao {private int[] array;p…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法
深入浅出:JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中,随机数的生成看似简单,却隐藏着许多玄机。无论是生成密码、加密密钥,还是创建安全令牌,随机数的质量直接关系到系统的安全性。Jav…...

【机器视觉】单目测距——运动结构恢复
ps:图是随便找的,为了凑个封面 前言 在前面对光流法进行进一步改进,希望将2D光流推广至3D场景流时,发现2D转3D过程中存在尺度歧义问题,需要补全摄像头拍摄图像中缺失的深度信息,否则解空间不收敛…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...

嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)
目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 编辑编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...

rknn toolkit2搭建和推理
安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 ,不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源(最常用) conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...