【四】3D Object Model之创建Creation——write_object_model_3d()算子

2023-11-29 14:52

本文主要是介绍【四】3D Object Model之创建Creation——write_object_model_3d()算子,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


😊😊😊欢迎来到本博客😊😊😊

🌟🌟🌟 Halcon算子太多,学习查找都没有系统的学习查找路径,本专栏主要分享Halcon各类算子含义及用法,有时间会更新具体案例。

😊😊😊 具体食用方式:可以点击本专栏【Halcon算子快速查找】–>搜索你要查询的算子名称;或者点击Halcon算子汇总博客,即可食用。

🎁🎁🎁支持:如果觉得博主的文章还不错或者您用得到的话,可以悄悄关注一下博主哈,如果三连收藏支持就更好啦!这就是给予我最大的支持!😙😙😙


文章目录

  • 学习目标
  • 学习内容
    • 1、write_object_model_3d()
      • Halcon例程
  • 【3D Object Model之创建Creation】 待更新算子
  • 汇总

学习目标

  • write_object_model_3d()

学习内容

算子简介

函数名解释
write_object_model_3d()保存一个3D对象模型。

1、write_object_model_3d()

  write_object_model_3d( : : ObjectModel3D, FileType, FileName, GenParamName, GenParamValue : )

  函数说明:操作符write_object_model_3d将3d对象模型ObjectModel3D写入文件FileName。对象模型可以用read_object_model_3d再次读取,也可以导入到适当的CAD程序中。请注意,基元只能以HALCON格式“om3”存储。如果需要以另一种格式存储基元,则必须事先调用操作符sample_object_model_3d。然而,这导致了基元到3D点的转换,并且因此仅对应于基元的近似。
  所有坐标都以米为单位。如果以后使用read_object_model_3d读取文件,则必须将参数Scale设置为’m’以避免缩放数据。

  函数参数:
    ObjectModel3D输入 3D对象模型句柄;
    FileType输入写入的文件的类型;默认:'om3'参考: 'dxf', 'obj', 'off', 'om3', 'ply', 'ply_binary', 'stl', 'stl_ascii', 'stl_binary'具体如下:

参数名解释
'om3'使用此格式可以通过write_object_model_3d函数将文件写入。此格式的默认文件扩展名为'om3'
'dxf'AUTOCAD格式。此格式的默认文件扩展名为'dxf'
'off'Object File Format(.off)。这是一种基于ASCII的简单格式,可以存储3D点和多边形。不支持二进制OFF格式。此格式的默认文件扩展名为'off'
'ply'多边形文件格式(也称为斯坦福三角形格式)。这是一种简单的格式,可以存储3D点、点法线和多边形。HALCON支持该格式的ASCII和二进制版本。此格式的默认文件扩展名为'ply'
'obj'OBJ文件格式,也称为’Wavefront OBJ格式’。这是一种基于ASCII的格式,可以存储3D点、多边形、法线、纹理坐标、材质和其他信息。HALCON支持点('v’行)和多边形面(‘f’行)。其他实体将被忽略。此格式的默认文件扩展名为'obj'
'stl''stl_binary''stl_ascii'STL文件格式,也称为’立体光刻格式’、‘表面三角化语言’、‘标准三角化语言’和’标准三角剖分语言’。该格式存储三角形和三角形法线。然而,由于HALCON 3D对象模型不支持三角形法线,只读取三角形,而忽略三角形法线。如果需要,法线会从三角形重新计算。HALCON同时支持该格式的ASCII和二进制版本。如果设置为’stl’,HALCON将自动检测格式类型。将类型设置为’stl_binary’或’stl_ascii’将强制使用相应的格式。此格式的默认文件扩展名为'stl'

    FileName输入写入的文件的名称;参考.off, .ply, .dxf, .om3, .obj, .stl
    GenParamName输入通用参数的名称;
    GenParamValue输入通用参数的值;

  可以设置一组附加的可选参数。参数的名称和值分别在GenParamNameGenParamValue中传递。某些可选参数只能针对特定的文件类型进行设置。GenParamName具有以下值:

参数名解释
'invert_normals'在保存三维对象模型之前反转法线和面方向。如果此值设置为“true”,则对于'off''ply''obj''stl'格式,面(三角形和多边形)的方向将反转。对于支持点法线( 'ply''obj')的格式,在将所有法线写入光盘之前,将反转所有法线。请注意,对于类型'om3''dxf',该参数没有任何作用。

Halcon例程


【3D Object Model之创建Creation】 待更新算子

  • clear_object_model_3d()
  • copy_object_model_3d()
  • deserialize_object_model_3d()
  • gen_box_object_model_3d()
  • gen_cylinder_object_model_3d()
  • gen_empty_object_model_3d()
  • gen_object_model_3d_from_points()
  • gen_plane_object_model_3d()
  • gen_sphere_object_model_3d()
  • gen_sphere_object_model_3d_center()
  • read_object_model_3d()
  • serialize_object_model_3d()
  • set_object_model_3d_attrib()
  • set_object_model_3d_attrib_mod()
  • union_object_model_3d()
  • write_object_model_3d()

汇总

  本专栏博客汇总:Halcon算子汇总


🚶🚶🚶今天的文章就到这里啦~
喜欢的话,点赞👍、收藏⭐️、关注💟哦 ~

这篇关于【四】3D Object Model之创建Creation——write_object_model_3d()算子的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/433258

相关文章

Window Server创建2台服务器的故障转移群集的图文教程

《WindowServer创建2台服务器的故障转移群集的图文教程》本文主要介绍了在WindowsServer系统上创建一个包含两台成员服务器的故障转移群集,文中通过图文示例介绍的非常详细,对大家的... 目录一、 准备条件二、在ServerB安装故障转移群集三、在ServerC安装故障转移群集,操作与Ser

Window Server2016 AD域的创建的方法步骤

《WindowServer2016AD域的创建的方法步骤》本文主要介绍了WindowServer2016AD域的创建的方法步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、准备条件二、在ServerA服务器中常见AD域管理器:三、创建AD域,域地址为“test.ly”

Python在固定文件夹批量创建固定后缀的文件(方法详解)

《Python在固定文件夹批量创建固定后缀的文件(方法详解)》文章讲述了如何使用Python批量创建后缀为.md的文件夹,生成100个,代码中需要修改的路径、前缀和后缀名,并提供了注意事项和代码示例,... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果5.

使用IntelliJ IDEA创建简单的Java Web项目完整步骤

《使用IntelliJIDEA创建简单的JavaWeb项目完整步骤》:本文主要介绍如何使用IntelliJIDEA创建一个简单的JavaWeb项目,实现登录、注册和查看用户列表功能,使用Se... 目录前置准备项目功能实现步骤1. 创建项目2. 配置 Tomcat3. 项目文件结构4. 创建数据库和表5.

使用SpringBoot创建一个RESTful API的详细步骤

《使用SpringBoot创建一个RESTfulAPI的详细步骤》使用Java的SpringBoot创建RESTfulAPI可以满足多种开发场景,它提供了快速开发、易于配置、可扩展、可维护的优点,尤... 目录一、创建 Spring Boot 项目二、创建控制器类(Controller Class)三、运行

JAVA中整型数组、字符串数组、整型数和字符串 的创建与转换的方法

《JAVA中整型数组、字符串数组、整型数和字符串的创建与转换的方法》本文介绍了Java中字符串、字符数组和整型数组的创建方法,以及它们之间的转换方法,还详细讲解了字符串中的一些常用方法,如index... 目录一、字符串、字符数组和整型数组的创建1、字符串的创建方法1.1 通过引用字符数组来创建字符串1.2

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

深入探讨Java 中的 Object 类详解(一切类的根基)

《深入探讨Java中的Object类详解(一切类的根基)》本文详细介绍了Java中的Object类,作为所有类的根类,其重要性不言而喻,文章涵盖了Object类的主要方法,如toString()... 目录1. Object 类的基本概念1.1 Object 类的定义2. Object 类的主要方法3. O

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal