Halcon算子学习:create_sheet_of_light_model

在这里插入图片描述

create_sheet_of_light_model

(ProfileRegion : : GenParamName, GenParamValue : SheetOfLightModelID)
创建一个执行线结构光技术3D测量的的模型

输入:
ProfileRegion
包含要处理的轮廓的图像的ROI。(如果所提供的区域不是矩形的,则使用其最小的外接矩形)

  • GenParamName
    可以为线结构光模型调整的通用参数的名称。
    默认值:“min_gray”
    值列表:’ uity_solving’, ‘calibration’, ‘method’, ‘min_gray’, ‘num_profiles’, ‘offset_x’, ‘offset_y’, ‘offset_z’, ‘scale’, ‘scale_x’, ‘scale_y’, ‘scale_z’, ‘score_type’

  • GenParamValue
    可以为线结构光模型调整的通用参数的值。
    默认值:50
    建议值:‘default’, ‘center_of_gravity’, ‘last’, ‘first’, 'bright ', ‘none’, ‘intensity’, ‘width’, ‘offset_scale’, 50,100,150,180

输出:

  • SheetOfLightModelID
    用于使用和访问光照模型的句柄。

描述

操作符create_sheet_of_light_model使用线结构光技术创建一个模型来执行3d测量。

该技术通过使用区域扫描摄像机和光线投影仪(通常是激光线投影仪)对不透明和漫反射固体的表面进行三维重建。照相机和放映机必须安装好,使它们的主轴形成三角形。三角测量的值通常选择在30°到60°之间。投射的光线在空间中定义了一个平面(结构光平面)。这个平面与被测量的固体表面相交,并建立了一个对摄像机可见的表面轮廓(Profile)。通过移动固体在测量系统前面,(即如照相机和激光器的组合),就有可能记录整个固体的表面。作为一种替代方案,测量系统也可以在被测表面上移动。请注意,轮廓在轮廓图像中必须大致水平定位,因为它们是逐列处理的。

如果有测量装置的几何信息,就可以计算出重建曲面的真实三维坐标。浏览所需几何图形的描述(即,标定)的信息,请参阅操作符set_sheet_of_light_param。如果没有这样的信息,测量的结果是一个视差图像(disparity image),其中每个像素保存着被测轮廓的亚像素精确位置的记录

操作员在SheetOfLightModelID中返回光表模型的句柄,该句柄用于对光表模型的所有进一步操作,如修改模型的参数、测量轮廓、应用标定转换或访问测量结果。

强制输入图像参数

为了执行测量,您将不得不设置以下输入图标参数:

  • ProfileRegion:定义轮廓图像的区域,操作符measure_profile_sheet_of_light将处理这些区域。这个区域应该是矩形的,可以通过使用操作符gen_rectangle1生成。如果传递给ProfileRegion的区域不是矩形的,那么将使用其最小的外接矩形(包围框)。注意,ProfileRegion仅由操作符measure_profile_sheet_of_light考虑,在处理视差图像时忽略它。

线结构光模型的默认设置参数

  • 线结构光模型的默认设置被用来在基本配置中执行非校准的测量。以下列表提供了默认情况下使用的参数值的概述(有关所有受支持的通用参数的详细描述,请参阅set_sheet_of_light_param):

  • ‘method’
    is set to ‘center_of_gravity’

  • ‘min_gray’:
    is set to 100

  • ‘num_profiles’
    is set to 512

  • ‘ambiguity_solving’
    is set to ‘first’

  • ‘score_type’
    is set to ‘none’

  • ‘calibration’
    is set to ‘none’

修改模型参数

我们建议根据您的特定度量任务调整默认参数,以提高度量的质量或缩短运行时间。如果需要校准结果,还必须修改模型参数的默认值。

create_sheet_of_light_model提供了通用参数GenParamName和GenParamValue来修改大多数模型参数的默认值。注意,还可以使用set_sheet_of_light_param操作符设置模型参数。然而,使用第二个操作符,一次只能设置一个参数,而使用create_sheet_of_light_model一次可以设置多个参数。有关所有受支持的通用参数的详细描述,请参阅set_sheet_of_light_param。

请注意,以下模型参数无法使用create_sheet_of_light_model操作符设置,因此必须使用set_sheet_of_light_param操作符设置:
‘camera_parameter’、‘camera_pose’、‘lightplane_pose’和’movement_pose’。

可以使用操作符get_sheet_of_light_param查询模型参数的值。操作符query_sheet_of_light_params返回所有受支持的模型参数的名称。

使用简化的线结构光模型参数

在一个简单的设置或是否为一个真正的度量标定是必要的,观测到的视差图转换成3D值可以控制使用简化的参数集的线结构光模型:

通过将set_sheet_of_light_param的校准设置为‘offset_scale’,位姿和相机参数将更改为这样的值,即一个像素的偏移量对应于3D结果中的一个单元。这允许从一个未校准的线结构光模型创建一个三维物体模型和三维图像。

从视差到三维坐标的转换可以通过六个参数来控制:‘scale_x’、‘scale_y’、‘scale_z’、‘offset_x’、‘offset_y’、‘offset_z’。有关所有受支持的通用参数的详细描述,请参阅set_sheet_of_light_param。

自由的线结构光模型

由于在操作符create_sheet_of_light_model调用期间以及在接下来的操作期间为模型分配了内存,所以当模型不再使用时,操作符clear_sheet_of_light_model应该显式地释放该模型。

在多个线程中使用句柄

请注意,在多线程中使用线结构光模型’“SheetOfLightModelID’的句柄时必须特别小心。同一句柄不能在不同的线程中并发使用,如果它们修改了句柄。因此,您必须小心,特别是当线程调用更改句柄数据的操作符时。你可以在操作符的“注意”部分找到相应的提示。无论如何,如果您仍然希望在不同线程中并发写入句柄的操作符中使用相同的句柄,则必须同步这些线程,以确保它们不会同时访问相同的句柄。如果您不确定同一句柄的用法是否线程安全,请参阅相应参考手册条目的“注意”部分,如果其中包含指向此问题的警告。但是,可以在不同的线程中独立安全地使用不同的句柄。

示例:

* Create the rectangular region in which the profiles are measured.
gen_rectangle1 (ProfileRegion, 120, 75, 195, 710)
*
* Create a model in order to measure profiles according to
* the sheet-of-light technique. Simultaneously set some
* parameters for the model.
create_sheet_of_light_model (ProfileRegion, ['min_gray','num_profiles', \'ambiguity_solving','score_type'], \[70,290,'first','width'], \SheetOfLightModelID)
*
* Measure the profile from successive images
for Index := 1 to 290 by 1read_image (ProfileImage, 'sheet_of_light/connection_rod_'+Index$'.3')dev_display (ProfileImage)dev_display (ProfileRegion)measure_profile_sheet_of_light (ProfileImage, SheetOfLightModelID, [])
endfor
*
* Get the resulting disparity and score images
get_sheet_of_light_result (Disparity, SheetOfLightModelID, 'disparity')
get_sheet_of_light_result (Score, SheetOfLightModelID, 'score')
*
* Close the sheet-of-light handle once the measurement
* has been performed
clear_sheet_of_light_model (SheetOfLightModelID)

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

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

相关文章

腾讯研究院院长司晓:互联网大脑的人文侧面

1989年万维网推出至今,互联网已经走过了30个年头。在这激荡的30年,随着社交网络、移动通信、云计算、物联网、工业互联网、大数据、人工智能等新技术和新事物不断涌现,互联网持续建立起复杂而庞大的连接,成为驱动经济与社会快速变…

Halcon算子学习:get_sheet_of_light_result

get_sheet_of_light_result ( : ResultValue : SheetOfLightModelID, ResultName : ) 获得用线结构光技术进行测量的标志性结果 输出: ResultValue 理想的测量结果。 SheetOfLightModelID 要使用的线结构光模型的句柄 输入: ResultName 规定应提供何…

5G芯片Top10一览,谁才是最后的赢家?

来源:Electronic Products、电子工程世界从无线网络基础设施和基站到智能手机再到物联网设备应用,这些芯片组有望简化向5G通信的过渡。5G有望提供一个完全互联的移动世界,其市场范围从联网汽车、智能城市、智能手机到物联网(IoT)设备&#xf…

HALCON标定板制作、标准文件输出方法、算子讲解

利用 Halcon软件自制标定板 参考博客: halcon相机标定及图像矫正 Halcon学习 标定助手 关键算子: gen_caltab ( : : XNum, YNum, MarkDist, DiameterRatio, CalPlateDescr, CalPlatePSFile : ) 为具有矩形排列标记的标定板生成标定板描述文件和相应的后…

国产光刻机的现状究竟如何?

来源:人民网-上海频道随着信息社会的迅速发展,手机、电脑、电视等各种电子设备越来越“迷你”,从之前的“大哥大”到现在仅仅几个硬币厚的时尚手机,从老式的矮胖电视到如今轻薄的液晶电视,都不离开集成电路的发展&…

如何使用UR机器人模拟软件URsim

如何使用UR机器人模拟软件URsim 机器人软件适用版本:Polyscope v1.3及以上 适用机器人:UR3、UR5、UR10 由于优傲机器人的系统是基于Linux核心开发的,模拟软体URsim也是在Linux系统下运行,通常大家使用的电脑系统为Windows&#…

中国团队新型类脑芯片登上《自然》封面

来源:澎湃新闻网从AlphaGo战胜人类顶级围棋选手,到人工智能系统以90%准确率诊断儿科疾病,近年来,人工智能的突破大多从智能的某个领域接近或超过人类智能,距离达到人类水平的人工通用智能(AGI,A…

20145324 《Java程序设计》第6周学习总结

20145324 《Java程序设计》第6周学习总结 教材学习内容总结 第十章 1、使用输入串流将数据从来源取出 InputStream 使用输出串流将数据写入目的地 OutStream 2、dump()方法并没有限定来源或目的地真实形式,依赖InputStream、OutStream 3、可以使用dump()从HTTP服务器…

MATLAB Robotic Toolbox 机器人工具箱示例

程序是基于Matlab2016a,工具箱版本为Robotic Toolbox 10.2 参考博客: MATLAB机器人工具箱使用 Matlab Robotic Toolbox V9.10工具箱(三):轨迹规划 六轴机器人建模方法、正逆解、轨迹规划实例与Matalb Robotic Toolbox 的实现 效果&#xff1a…

人工智能最受欢迎的十大TED演讲

来源:DataCastle数据城堡当我们过于关注机器学习的技术实现时,往往就会忽略技术在未来的应用及其政治后果。本文并没有讨论最适合解决某个问题可以用什么语言或算法,而是从最受欢迎的非营利组织TED中收集了一系列演讲。在这一系列的演讲中&am…

C++编程(一):匈牙利命名法

匈牙利命名法 许多 Windows 程序员都使用“匈牙利标记法”作为变量命名约定。这是为了纪念具有传奇色彩的微软程序员 Charles Simonyi。这种标记法非常简单,其基本原则为: 即变量名(标识符)以一个或者多个小写字母开始&#xff0…

工业机器人国内外的发展现状

工业机器人国内外的发展现状 工业机器人是集合了机械原理、系统动力学、机构运动学、计算机技术、控制理论、传感和人工智能等多种先进技术于一身的综合性装备[10]。1959年,由享有“机器人之父”美誉的恩格尔﹒伯格先生和德奥尔先生于美国共同发明了第一台工业机器…

知识图谱、深度学习、AutoML,推荐系统与新技术结合将碰撞出怎样的火花?

来源:CSDN App近日,来自意大利米兰理工大学 Maurizio 团队发表的一篇极具批判性的文章火了。这篇文章剑指推荐系统领域的其他数十篇论文,并通过多项试验证明这些论文中基于深度学习的推荐算法大部分都存在不同程度的数据集缺失和源码缺失的问…

VS2015无法打开包括文件corecrt.h 无法打开文件ucrtd.lib

VS2015无法打开包括文件"corecrt.h" 无法打开文件"ucrtd.lib" 在网上是VS2015的一个BUG,如果是选择"从父级或项目默认设置继承"时,在Windows Kits\10\include 和 Windows Kits\10\lib 目录下导入的是10.0.10240.0文件夹&…

面向对象的七大设计原则

总脉络图: 一:单一职责原则(全称:“Single-Responsibility Principle”)又称 单一功能原则 核心:解耦和增强内聚性(高内聚,低耦合) 说明: 就一个类而言,应该只专注于做一…

人机融合智能的思考

来源:人机与认知实验室【人机智能难于融合的主要原因就在于时空和认知的不一致性,人处理的信息与知识能够变异,其表征的一个事物、事实既是本身同时又是其他事物、事实,一直具有相对性,机器处理的数据标识缺乏这种相对…

工艺篇:常用表面处理

工艺篇:常用表面处理 表面处理定义 表面处理是在基体材料表面上人工形成一层与基体的机械、物理和化学性能不同的表层的工艺方法。表面处理的目的是满足产品的耐蚀性、耐磨性、装饰或其他特种功能要求,表面处理按照机理来分可以分为以下4部分&#xff…

NASA发现超级地球,真的适宜居住?

来源:中国新闻网中新网8月2日电 当地时间7月31日,NASA宣布,他们的凌日系外行星勘测卫星(TESS),在距离地球约31光年的地方,发现了一颗可能有生命存在的“超级地球”。天文学家制作的GJ357d星球概念图。图片来源&#xf…

Excel制作随机抽取名单

首先建立名单,假设放在A列 然后选一个方格用来存抽取结果,并在该方格中输入INDEX(A:A,RANDBETWEEN(1,8)),1:8表示第1行到第8行 此时按下F9键就可以生成随机的名单了 增加抽取效果: 首先选取全部名单: 点击条件格式→…

RuntimeError: CUDA out of memory. Tried to allocate 132.00 MiB (GPU 2; 3.95 GiB total capacity; 3.41

pytorch报错:RuntimeError: CUDA out of memory. Tried to allocate 132.00 MiB (GPU 2; 3.95 GiB total capacity; 3.41 GiB already allocated; 37.88 MiB free; 98.29 MiB cached) 如果是训练时遇到该问题,说明模型的参数太多了,将模型的…