Halcon resistor.hedv 使用多个对焦级别提取深度

depth_from_focus

* Extract depth using multiple focus levels  
* 使用多个对焦级别提取深度  
Names := []  
* 初始化一个空数组,用于存储图像名称  
dev_close_window ()  
* 关闭当前打开的图像窗口  
for i := 1 to 10 by 1  
    * 循环开始,从1到10  
    Names := [Names,'dff/focus_' + (i$'.2')]  
    * 将格式化的字符串添加到Names数组中,形成如'dff/focus_01'到'dff/focus_10'的名称  
endfor  
read_image (Image, Names)  
* 读取Names数组中的所有图像到Image变量中(注意:这里假设Names包含的是可以读取的图像文件路径列表,但根据上下文,此行代码可能需要根据实际情况调整,因为前面生成的Names是格式化的字符串,可能并非直接指向图像文件)  
channels_to_image (Image, Image)  
* 如果Image是多通道图像,此函数将通道组合成完整的图像(但这里使用相同的Image变量作为输入和输出,可能是个误用或特殊用例)  
get_image_size (Image, Width, Height)  
* 获取图像的宽度和高度  
dev_open_window (0, 0, Width, Height, 'black', WindowHandle)  
* 打开一个新的图像窗口,大小为图像的宽度和高度,背景为黑色  
  
* Access a channel of a multichannel image  
* 访问多通道图像的一个通道  
for i := 1 to 10 by 1  
    * 循环开始,从1到10  
    access_channel (Image, Image1, i)  
    * 从Image中提取第i个通道到Image1中(但注意,这里每次循环都覆盖了Image1的内容,可能并不是预期的行为)  
endfor  
depth_from_focus (Image, Depth, Confidence, 'highpass', 'next_maximum')  
* 使用对焦深度方法从图像中提取深度信息,并计算置信度  
  
* Smooth by averaging  
* 通过平均进行平滑处理  
mean_image (Depth, DepthHighConf, 11, 11)  
* 对Depth图像进行11x11的平均滤波,结果存储在DepthHighConf中  
scale_image_max (DepthHighConf, ImageScaleMax)  
* 将DepthHighConf图像的最大值缩放到255,结果存储在ImageScaleMax中  
mean_image (ImageScaleMax, DepthMean, 51, 51)  
* 对ImageScaleMax进行51x51的平均滤波,结果存储在DepthMean中  
threshold (DepthMean, Resistor, 158, 255)  
* 对DepthMean应用阈值操作,生成二值图像Resistor,其中像素值大于158的设为255(白色),其余设为0(黑色)  
connection (Resistor, ConnectedRes)  
* 连接Resistor图像中的白色区域,形成连通的区域  
  
* Select regions of a given shape  
* 选择给定形状的区域  
select_shape_std (ConnectedRes, FinalRes, 'max_area', 0)  
* 从ConnectedRes中选择面积最大的区域作为FinalRes  
threshold (DepthMean, Solder, 125, 158)  
* 对DepthMean再次应用阈值操作,生成二值图像Solder  
connection (Solder, ConnectedSol)  
* 连接Solder图像中的白色区域,形成连通的区域  
select_shape_std (ConnectedSol, SelectedSol, 'max_area', 0)  
* 从ConnectedSol中选择面积最大的区域作为SelectedSol  
  
* Fill up holes  
* 填充孔洞  
fill_up (SelectedSol, FinalSol)  
* 填充SelectedSol中的孔洞,结果存储在FinalSol中  
dev_set_line_width (3)  
* 设置绘制线条的宽度为3  
dev_set_draw ('margin')  
* 设置绘制模式为边缘绘制  
dev_display (Image)  
* 在窗口中显示原始图像  
dev_set_color ('red')  
* 设置绘制颜色为红色  
dev_display (FinalSol)  
* 在窗口中显示填充孔洞后的Solder区域(FinalSol)  
dev_set_color ('blue')  
* 设置绘制颜色为蓝色  
dev_display (FinalRes)  
* 在窗口中显示最终选择的电阻区域(FinalRes)

 

depth_from_focus是Halcon图像处理库中的一个算子,它用于从一系列不同对焦级别的图像中提取深度信息。以下是关于该算子的详细介绍:

一、算子功能

depth_from_focus算子通过比较同一场景在不同对焦级别下拍摄的图像,利用聚焦法恢复出物体的三维信息。具体来说,该算子会分析每个像素在不同对焦级别下的清晰度或锐度,并选择清晰度最高的那个对焦级别作为该像素的深度值。这样,就可以生成一个表示场景深度的图像,其中每个像素的深度值反映了场景中对应点的距离。

二、输入参数

  • MultiFocusImage:这是一个多通道灰度图像,由多个不同对焦级别的图像组成。每个对焦级别的图像都作为图像的一个通道。
  • Filter:用于寻找锐利的像素的过滤器。常用的过滤器类型包括'highpass'和'bandpass'。'highpass'过滤器会强调高频成分,适用于噪声较少的图像;而'bandpass'过滤器则会抑制高频和低频成分,适用于包含强噪声的图像。
  • Selection:这是一个可选参数,用于指定在选择最佳对焦级别时要考虑的区域或条件。例如,可以指定只考虑图像的某个部分或只考虑满足特定条件的像素。

三、输出参数

  • Depth:这是一个深度图像,其中每个像素的值表示场景中对应点的深度。深度值的具体含义取决于摄像机的标定参数和拍摄条件。
  • Confidence:这是一个可信度图像,其中每个像素的值表示对应深度估计的置信度。置信度越高,表示深度估计越可靠。

四、应用场景

depth_from_focus算子在三维重建、物体识别、表面检测等领域有着广泛的应用。例如,在三维重建中,可以利用该算子从一系列不同对焦级别的图像中提取深度信息,进而构建出物体的三维模型;在物体识别中,可以利用深度信息来提高识别的准确性和鲁棒性;在表面检测中,可以利用深度信息来检测物体表面的缺陷和变化。

五、注意事项

  • 在使用depth_from_focus算子时,需要确保输入的多通道图像是由同一场景在不同对焦级别下拍摄的。
  • 过滤器的选择对深度提取的结果有很大影响,因此需要根据实际情况选择合适的过滤器类型。
  • 深度估计的置信度可以提供有关深度信息可靠性的有用信息,因此在后续处理中需要加以考虑。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

区块链技术与应用-PKU 学习笔记

课程地址 资料: ETH-Security 区块链学习记录_比特币 BTC 密码学原理 比特币,又称加密货币(crypto-currency),它主要利用了密码学中的哈希函数(cryptographic hash function)的抗碰撞特性(collision resistance)和单向散列特性(hiding) …

Spark 的Standalone集群环境安装与测试

目录 一、Standalone 集群环境安装 (一)理解 Standalone 集群架构 (二)Standalone 集群部署 二、打开监控界面 (一)master监控界面 (二)日志服务监控界面 三、集群的测试 &a…

VLAN 高级技术 ——QinQ的配置

QinQ的概述: QinQ技术是一种扩展虚拟局域网(VLAN)数量空间的技术,通过在802.1Q标签报文的基础上再增加一层802.1Q的Tag来实现。以下是对QinQ技术的详细概述: QinQ技术的定义与背景 定义:QinQ&#xff08…

伍光和《自然地理学》电子书(含考研真题、课后习题、章节题库、模拟试题)

《自然地理学》(第4版)由伍光和、王乃昂、胡双熙、田连恕、张建明合著,于2018年11月出版。作为普通高等教育“十一五”国家级规划教材,本书不仅适用于高校地球科学各专业的基础课程,还可供环境、生态等有关科研、教学人…

迅为RK3588开发板Android多屏显示之多屏同显和多屏异显

迅为RK3588开发板是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像…

登录功能设计(php+mysql)

一 登录功能 1. 创建一个登录页面(login.php),包含一个表单,用户输入用户名和密码。 2. 在表单的提交事件中,使用PHP代码处理用户输入的用户名和密码。 3. 首先,连接MySQL数据库。然后&a…

vue--vueCLI

何为CLI ■ CLI是Command-Line Interface,俗称脚手架. ■ 使用Vue.js开发大型应用时,我们需要考虑代码目录结构、项目结构和部署、热加载、代码单元测试等事情。(vue 脚手架的作用), 而通过vue-cli即可:vue-cli 可以…

软件测试工程师面试整理 —— 编程与自动化!

在软件测试领域,编程与自动化是提升测试效率、覆盖率和可靠性的关键因素。掌握编程技术和自动化测试框架,能够帮助测试人员有效地执行大量重复性测试任务,并迅速反馈软件的质量状况。以下是编程与自动化在测试中的主要应用及相关技术介绍&…

宝顶白芽,慢生活的味觉盛宴

在快节奏的生活中,人们愈发向往那种悠然自得、返璞归真的生活方式。白茶,以其独特的韵味和清雅的风格,成为了现代人追求心灵宁静与生活品质的象征。而在众多白茶之中,竹叶青茶业出品的宝顶白芽以其甘甜醇爽的特质,成为…

安卓APP渗透安全测试

1.移动安全测试点分析 1.1主要测试 客户端 数据传输 服务端 l反编译 l二次打包 l组件安全 lWebview漏洞 l数据安全 l界面劫持 l数据备份风险 lDebug调试风险 l安全策略 l数据窃听 l中间人攻击 l信息泄露 l任意修改数据包 lSQL注入 l上传漏洞 l暴力破解 l逻辑漏洞 lXSS…

CentOS 7 安装 ntp,自动校准系统时间

1、安装 ntp yum install ntp 安装好后,ntp 会自动注册成为服务,服务名称为 ntpd 2、查看当前 ntpd 服务的状态 systemctl status ntpd 3、启动 ntpd 服务、查看 ntpd 服务的状态 systemctl start ntpdsystemctl status ntpd 4、设置 ntpd 服务开机启…

ESP-HaloPanel:用 ESP32-C2 打造超低成本智能家居面板

项目简介 在生活品质日益提升的今天,智能家居系统已经走进了千家万户,并逐渐成为现代生活的一部份。与此同时,一款设计精致、体积轻盈、操作简便的全屋智能家居控制面板,已经成为众多家庭的新宠。这种高效、直观的智能化的解决方…

如何用ChatGPT结合Python处理遥感数据

在科技飞速发展的时代,遥感数据的精准分析已经成为推动各行业智能决策的关键工具。从无人机监测农田到卫星数据支持气候研究,空天地遥感数据正以前所未有的方式为科研和商业带来深刻变革。然而,对于许多专业人士而言,如何高效地处…

TCP Analysis Flags 之 TCP Keep-Alive

前言 默认情况下,Wireshark 的 TCP 解析器会跟踪每个 TCP 会话的状态,并在检测到问题或潜在问题时提供额外的信息。在第一次打开捕获文件时,会对每个 TCP 数据包进行一次分析,数据包按照它们在数据包列表中出现的顺序进行处理。可…

使用buildx构建多架构平台镜像

1. 查看buildx插件信息 比较新的docker-ce版本默认已经集成了buildx插件 [rootdocker ~]# docker buildx version github.com/docker/buildx v0.11.2 9872040 [rootdocker ~]#2. 增加多平台镜像构建支持 通过tonistiigi/binfmt:latest初始化一个基于容器的构建环境&#xff…

【Linux】编辑器vim 与 编译器gcc/g++

目录 一、编辑器vim: 1、对vim初步理解: 2、vim的模式: 3、进入与退出: 4、vim命令模式下的指令集: 移动光标: 删除: cv: 撤销: 其他: 5、vim底行模…

面试总结!

OSI七层模型: 什么是OSI七层模型? 我们需要了解互联网的本质是一系列的网络协议,这个协议就叫做OSI协议(开放系统互联(Open System Interconnection)),它是由ISO(国际标准化组织&…

人工智能技术:未来生活的“魔法师”

想象一下,未来的某一天,你醒来时,智能助手已经为你准备好了早餐,你的智能家居系统根据你的心情和日程安排调整了室内的光线和音乐,而你的自动驾驶汽车已经在门口等你。这不是科幻小说,这是人工智能技术为我…

Multi Agents协作机制设计及实践

01 多智能体协作机制的背景概述 在前述博客中,我们利用LangChain、AutoGen等开发框架构建了一个数据多智能体的平台,并使用了LangChain的Multi-Agents框架。然而,在实施过程中,我们发现现有的框架存在一些局限性,这些…