Halcon学习笔记:xyz_attrib_to_object_model_3d示例

Halcon学习笔记:xyz_attrib_to_object_model_3d——从X、Y和Z图像中创建3D对象模型同时附加属性

xyz_attrib_to_object_model_3d.hdev

  • This example program shows the usage of the procedure
  • xyz_attrib_to_object_model_3d.
  • It can be used to create 3D object models from X, Y and Z images,
  • and simultaneously attach attributes to every point.
  • 这个示例程序展示了 xyz_attrib_to_object_model_3d 算子的用法。
  • 它可以用于从X、Y和Z图像中创建3D对象模型,并同时将属性附加到每个点上。

源码

* 初始化
dev_update_off ()
dev_close_window ()
* 
* Read the digital surface model.
* 1、读取数字表面模型
read_image (Z, 'mreut_dgm_2.0.tif')
get_image_size (Z, Width, Height)
* 
* 2、读取包含灰色值的图像,这些灰色值将作为属性添加到3D对象模型中
read_image (AerialImage, 'mreut4_3.png')
* 
* Generate a label image with a second attribute.
* In this case, we label different terrain types very simply, just for demonstration purposes.
* 3、用第二个属性生成标签图像。
* 在这种情况下,我们很简单的为不同的地形类型标记,只是为了演示。* 1)将区域转换为标签图像
auto_threshold (AerialImage, Regions, 4)
region_to_label (Regions, LabelImage, 'byte', Width, Height)
* 
* Create a multichannel image from both attribute images.
* 4、从两个属性图像中创建一个多通道图像
compose2 (AerialImage, LabelImage, MultiChannelAttribImage)
* 
* Create images that contain X and Y coordinates in a regular grid.
* For a simple gray ramp, the input parameters of gen_image_surface_first_order are very simple:
* 5、在常规网格中创建包含X和Y坐标的图像。对于一个简单的灰色渐变,gen_image_surface_first_order 的输入参数非常简单:* 1)用一阶多项式创建两个倾斜(减变)的灰色表面(X Y)
GroundResolution := 2.0
gen_image_surface_first_order (X, 'real', 0, GroundResolution, 0, 0, 0, Width, Height)
gen_image_surface_first_order (Y, 'real', -GroundResolution, 0, 0, 0, 0, Width, Height)
* 
* The following procedure creates a 3D object model from
* the X, Y and Z image and adds the information contained in the attribute image to each point.
* 6、下面的过程从X、Y和Z图像中创建一个3D对象模型,并将属性图像中包含的信息添加到每个点* 1)将3D点从图像转换为3D对象模型,并向对象模型的点添加扩展属性。(gray 灰度 + terrain 地形:添加两个通道进去)
AttribName := ['&gray','&terrain']
xyz_attrib_to_object_model_3d (X, Y, Z, MultiChannelAttribImage, AttribName, ObjectModel3D)
* 
* 7、显示结果 * 1)显示“地形类型”
dev_open_window (Height / 2, 0, Width / 2, Height / 2, 'black', WindowHandle1)
dev_set_part (0, 0, Height - 1, Width - 1)
set_display_font (WindowHandle1, 16, 'mono', 'true', 'false')
dev_set_color (['red','green','blue'])
dev_set_draw ('fill')
dev_display (Regions)
disp_message (WindowHandle1, 'Terrain types', 'window', 12, 12, 'black', 'true')* 2)显示“鸟瞰图”
dev_open_window (0, 0, Width / 2, Height / 2, 'black', WindowHandle2)
set_display_font (WindowHandle2, 16, 'mono', 'true', 'false')
dev_display (AerialImage)
disp_message (WindowHandle2, 'Aerial image', 'window', 12, 12, 'black', 'true')* 3)显示“数字表面模型”
dev_open_window (0, Width / 2 + 8, Width, Height, 'gray', WindowHandle3)
set_display_font (WindowHandle3, 16, 'mono', 'true', 'false')
dev_display (Z)
disp_message (WindowHandle3, 'Digital surface model', 'window', 12, 12, 'black', 'true')
disp_continue_message (WindowHandle3, 'black', 'true')
stop ()
* 
* Perform fast triangulation of the object model for better visualization.
* 8、对对象模型进行快速的三角测量,以便更好地进行可视化。* 1)为某个操作准备一个3D对象模型(此操作为segmentation分割)
prepare_object_model_3d (ObjectModel3D, 'segmentation', 'true', [], [])
* Visualize 3d object model interactively
* 9、交互式地可视化3d对象模型
create_pose (-620, -85, 17000, 135, 2, 10, 'Rp+T', 'gba', 'point', Pose)
Instructions := 'Rotate: Left button'
Instructions[1] := 'Zoom: Shift + left button'
Instructions[2] := 'Move: Ctrl + left button'* 1)创建使用了属性为:"&gray"的可视化的3D模型
visualize_object_model_3d (WindowHandle3, ObjectModel3D, [], Pose, ['color_attrib','color_attrib_start','color_attrib_end'], ['&gray',0,255], ['Created 3D model','Attribute used for visualization: \'&gray\''], [], Instructions, PoseOut)* 2)创建使用了属性为:"&terrain"的可视化的3D模型属性:
visualize_object_model_3d (WindowHandle3, ObjectModel3D, [], PoseOut, ['color_attrib','lut'], ['&terrain','color1'], ['Created 3D model','Attribute used for visualization: \'&terrain\''], [], Instructions, PoseOut)
disp_end_of_program_message (WindowHandle3, 'black', 'true')
stop ()
* 
clear_object_model_3d (ObjectModel3D)

结果:
1、获得两个属性的多通道图像
在这里插入图片描述
在这里插入图片描述

2、创建 X Y 图像,灰度值变化方向如图:
在这里插入图片描述
在这里插入图片描述
3、结果显示
在这里插入图片描述
在这里插入图片描述
4、验证结果:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

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

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

相关文章

理论计算机科学中最令人困惑的谜题之一被解开

来源:原理“自敏感度猜想提出以来,它便是所有组合学和理论计算机科学中最令人沮丧和尴尬的开放性问题之一。”德克萨斯大学奥斯汀分校的理论计算机学家Scott Aaronson在一篇博客中写道。Aaronson提到的猜想是一个与计算机电路的基本构件结构有关的猜想&a…

Halcon学习笔记:select_points_object_model_3d(3D对象模型阀值分割)

Halcon学习笔记:select_points_object_model_3d 3D对象模型阀值分割 This example program shows how to use the operators connection_object_model_3d and select_object_model_3d in HALCON. First, a threshold is applied to the 3D object model. Then, t…

MATLAB的GUI设置为不能点击状态(将按钮变为灰色)

有的时候想让GUI的按钮变灰,设置为不能点击状态,只有点击了另一个按钮后才能恢复该按钮的功能,举个例子,如下图所示,此时步骤1和步骤2这两个按钮是点击不了的,只有先点击了“打开图像”这个按钮&#xff0c…

脑结构、脑工作原理最详细图解

来源: 深度学习进阶学习社这个帖子很好地提醒了我,为什么我愿意跟如此美丽可爱的大脑一起工作。因为真正的大脑非常不可爱,长得也难看。但是,过去一个月,我一直生活在充斥着红色血管的 Google 图像的地狱里&#xff0c…

Halcon算子学习:create_pose

create_pose 创建3D位姿 ( : : TransX, TransY, TransZ, RotX, RotY, RotZ, OrderOfTransform, OrderOfRotation, ViewOfTransform : Pose) 输入: TransX 沿x轴平移(以[m]为单位)。 默认值:0.1 建议值:-1.0&#xff0…

Halcon算子学习:sample_object_model_3d

sample_object_model_3d ( : : ObjectModel3D, Method, SampleDistance, GenParamName, GenParamValue : SampledObjectModel3D) 示例一个3D对象模型 输入: ObjectModel3D 对3D对象模型的处理进行采样。 Method 选择不同的子采样方法。 默认值:“fast” 值列表:‘…

剑桥大学发布2019年度AI发展报告,预测未来12个月AI产业6件大事

来源:人工智能和大数据近日,剑桥大学发布了2019年度AI发展报告,在这份137页的报告中,涵盖了AI研究、人才、产业等多方面内容,值得一提的是,这份报告专门开辟了一个章节来介绍中国AI技术的发展。一、研究和技…

SQL Server安全(8/11):数据加密(Data Encryption)

在保密你的服务器和数据,防备当前复杂的攻击,SQL Server有你需要的一切。但在你能有效使用这些安全功能前,你需要理解你面对的威胁和一些基本的安全概念。这篇文章提供了基础,因此你可以对SQL Server里的安全功能充分利用&#xf…

模拟人脑项目彻底宣告失败:耗资10亿欧,10年前轰动全球,如今死得悄无声息...

来源:凹非寺10年砸入10亿欧元,为了用计算机模拟人脑。这个十年前曾轰动全球的项目,如今彻底“死”了,死得悄无声息。要不是有位西方记者提起,人们几乎已经完全遗忘。模拟人脑?呵,实际连一只蠕虫…

变量传值

变量传值 PHP传方式有两种:赋值传值、引用传值 赋值传值: 将一个变量的值传递给另一个变量,array数组 示例: 引用传值: 将一个变量的内存地址传给另一个变量 写时复制: 对变量使用赋值传值时,PH…

物理学的忧伤,从现代物理学的死锁谈起

来源:量子学派“这是一篇信息量极大的文章,我不知道有多少人能真正读完。但希望大家能静下心来,暂且抛开生活的油盐酱醋茶,好好去感受一下——这些似乎离我们的生活太远的智慧和知识。”盛宴已过,天才再无用武之地&…

EPSON 程序

EPSON 代码程序 1.EPSON SPEL 语言代码示例: // String RCdata$, InData$, toks$(0), data1$, data2$, data3$ //定义字符型变量名需要添加“$”符号 Integer N, x Double VX(500), VY(500), VZ(500) #define delay_Time 0.1 Function mainSetNet #201, "19…

有人机/无人机混合编队协同作战研究综述与展望

来源: 人机与认知实验室摘要:有人机与无人机混合编队协同作战是未来空战的重要形式。有人机是中央指挥,而无人机直接接受有人机的指挥和控制,并进行战场态势感知、目标打击等。有人机和无人机可以看成空间上分离而逻辑上一体的巨型…

中国独角兽报告:2019

来源:泽平宏观文:恒大研究院 任泽平 连一席 谢嘉琪导读独角兽企业代表着新经济的活力,行业的大趋势,国家的竞争力。2018年全球资本市场风起云涌,独角兽势力大洗牌。有些独角兽融资困难,光环不再&#xff1b…

软银千亿美元愿景基金PPT,孙正义解读股权投资IRR=44%

来源:股权投资论坛(PE821010)综合“正和岛(zhenghedao)、皮卡丘财经、猎云网(ilieyun)、财立方(icailifang)、腾讯科技(qqtech)等综合 日本软银公司成立于1981年&#x…

Halcon算子学习:create_sheet_of_light_model

create_sheet_of_light_model (ProfileRegion : : GenParamName, GenParamValue : SheetOfLightModelID) 创建一个执行线结构光技术3D测量的的模型 输入: ProfileRegion 包含要处理的轮廓的图像的ROI。(如果所提供的区域不是矩形的,则使用其…

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

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 : ) 为具有矩形排列标记的标定板生成标定板描述文件和相应的后…