一、简介

入门级别的学习,就是简单的计算一个高度差,其原理如下:

1、先选出上面一个面的点,然后计算出在一个坐标系想的均值高度

2、筛选出下面一个面的点,然后计算出这个平面上的点的均值高度

3、高度差

4、显示

二、代码显示

*1读入点云数据
read_object_model_3d ('./points.om3', 'mm', [], [], ObjectModel3D, Status)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
visualize_object_model_3d (WindowHandle, ObjectModel3D, [], [], ['lut','color_attrib','disp_pose'], ['color1','coord_z','true'], [], [], [], PoseOut)
*2得到电池表面点云的数据(mm),获得Z轴方向上的点的高度
get_object_model_3d_params (ObjectModel3D, 'point_coord_z', GenParamValue)* 通过高度来选出那个第一个面上的点
select_points_object_model_3d (ObjectModel3D, 'point_coord_z', 15, 16, ObjectModel3DThresholded)
* 显示 第一个平面的模型
visualize_object_model_3d (WindowHandle, ObjectModel3DThresholded, [], [], ['lut','color_attrib','disp_pose'], ['color1','coord_z','true'], [], [], [], PoseOut1)*去掉噪点
connection_object_model_3d (ObjectModel3DThresholded, 'distance_3d', 1, ObjectModel3DConnected)
get_object_model_3d_params (ObjectModel3DConnected, 'num_points', GenParamValue1)
* 通过点的个数来选出模型
select_object_model_3d (ObjectModel3DConnected, 'num_points', 'and', 1000, 50000, ObjectModel3DBattery)
visualize_object_model_3d (WindowHandle, ObjectModel3DBattery, [], [], ['lut','color_attrib','disp_pose'], ['color1','coord_z','true'], [], [], [], PoseOut1)
*3得到背景的点云数据集合(mm)
select_points_object_model_3d (ObjectModel3D, 'point_coord_z', 12, 14, ObjectModel3DBackGround)
visualize_object_model_3d (WindowHandle, ObjectModel3DBackGround, [], PoseOut1,  ['lut','color_attrib','disp_pose'], ['color1','coord_z','true'], [], [], [], PoseOut2)
*4求电池上表面点云的z坐标值
get_object_model_3d_params (ObjectModel3DBattery, 'point_coord_z', GenParamValue1)
*5求背景表面的点云的z坐标值
get_object_model_3d_params (ObjectModel3DBackGround, 'point_coord_z', GenParamValue2)
*6求电池上表面点云的z坐标的平均值
A:=mean(GenParamValue1)
*7求背景表面点云的z坐标的平均值
B:=mean(GenParamValue2)
*8求电池表面的高度
H:=A-B
Param[0]:='Shift+left button Zoom'
Param[1]:='ctrl+ left button Move'
Param[2]:='left button Rotat'
visualize_object_model_3d (WindowHandle, ObjectModel3D, [], [], ['lut','color_attrib','disp_pose'], ['color1','coord_z','true'], '电池点云的高度为'+H+'mm', 'Battery Object', Param, PoseOut)

Halcon 简单入门3D点云计算高度相关推荐

  1. LWJGL入门指南:使用《我的世界》(Minecraft)同款游戏库开发一个超级“简单”的3D射击游戏

    LWJGL系列文章 LWJGL入门指南:序章 LWJGL入门指南:安装LWJGL或生成maven或gradle依赖与第一行LWJGL代码 LWJGL入门指南:一个超级简单的3D射击游戏demo 前言 ...

  2. React+Three.js 简单入门 创建简单3D场景

    Three.js 几个重要概念 首先我们简单地了解一下一个3D场景必不可少的三个元素,在后面的章节再对各个元素中再做比较详细的介绍. Scene 场景,可以把scene看作一个沙盘,你所要呈现的物体需 ...

  3. 音视频基本概念和FFmpeg的简单入门(新手友好+FFmpeg资料分享)

    音视频基本概念和FFmpeg的简单入门 基本概念 容器/文件(Conainer/File): 即特定格式的多媒体文件,一般来说一个视频文件是由视频,音频,字幕等按特定的格式/规则组合到一起的,常见如: ...

  4. Python 简单入门指北(二)

    Python 简单入门指北(二) 2 函数 2.1 函数是一等公民 一等公民指的是 Python 的函数能够动态创建,能赋值给别的变量,能作为参传给函数,也能作为函数的返回值.总而言之,函数和普通变量 ...

  5. Git快速入门篇—— Windows版本淘宝镜像快速下载安装详细步骤及简单入门教程(附带图文教程)

    Git快速入门篇-- Windows版本淘宝镜像快速下载安装详细步骤及简单入门教程(附带图文教程) 前言:我们平时在整理代码的时候,尤其是与别人一起开发项目的时候,常常涉及到代码的更新,因此代码版本问 ...

  6. 【视觉高级篇】27 # 如何实现简单的3D可视化图表:GitHub贡献图表的3D可视化?

    说明 [跟月影学可视化]学习笔记. 第一步:准备要展现的数据 可以使用这个生成数据:https://github.com/sallar/github-contributions-api 这里直接使用月 ...

  7. CSS简单入门(一)

    CSS简单入门(一) CSS是什么 CSS怎么用 CSS选择器(重点+难点) 美化网页(文字,阴影,超链接.列表.渐变-) 盒子模型 浮动 定位 网页定位(特效效果) 1.CSS是什么 1.1 什么是 ...

  8. oracle简单入门(全面)

    oracle简单入门 oracle概念 oracle是一个关系型数据库,它有一个大的数据库,大的数据库下由一个或多个实例组成,每个实例由后台进程和逻辑数据组成,一个实例下可以创建多个表空间和多个用户, ...

  9. (超多图)基于Android studio开发的一个简单入门小应用(超级详细!!)(建议收藏)

    基于Android studio开发的一个简单入门小应用 一.前言 二.前期准备 三.开发一个小应用 五.运行应用 一.前言 在暑假期间,我学习JAVA基础,为了能早日实现自己用代码写出一个app的& ...

最新文章

  1. Linux下设置mysql和tomcat开机启动
  2. 车牌识别的分类器文件目录
  3. 成功解决from scipy.linalg import _fblas ImportError: DLL load failed: 找不到指定的模块。
  4. 18.IDA-创建自己的sig
  5. iOS中的HotFix方案总结详解
  6. 公差基本偏差代号_螺纹基础知识学习,螺纹公差标准的结构,螺纹公差带与旋合长度...
  7. docker安装mysql8_Centos7-Docker-安装Mysql8
  8. 服务容错保护断路器Hystrix之四:断路器监控(Hystrix Dashboard)-turbine集群监控
  9. aardio中获取网络图片经GDI处理后保存到本地
  10. 信息系统综合知识二 信息化基础知识
  11. 【测试】15.质量管理体系
  12. C语言的实现的程序算法,算法:C语言实现(Algorithms In C)的学习
  13. Python 科研风格字体(中文宋体、英文新罗马)
  14. Android 保存图片到系统图库并通知相册刷新在部分手机的相册里无法查看的问题
  15. 解决Win2000 不能启动的几种方法
  16. 如何使用COM-Hunter检测持久化COM劫持漏洞
  17. MATLAB文件操作
  18. 笔试编程题 拼凑正方形 Java题解 牛牛有4根木棍,长度分别为a,b,c,d。羊羊家提供改变木棍长度的服务,如果牛牛支付一个硬币就可以让一根木棍的长度加一或者减一。牛牛需要用这四根木棍拼凑一个正方
  19. 饿了么 (Element)的 日历(Calendar)组件 自定义
  20. Best-Flutter-UI-Templates Best-Flutter-UI-模板

热门文章

  1. 学会思考(转一位辩友的书单)
  2. [ 数据结构 - C++] AVL树原理及实现
  3. 大数据:13个真实世界情景中的数据科学应用
  4. 国家标准(简称国标)下载备忘
  5. 超市购物车的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  6. java 多线程 一个处理卖面包,一个做面包
  7. 鸿蒙系统电视家,华为智慧屏S系列下载哪个直播软件最好?分享用当贝市场下载直播软件方法...
  8. Google Plus 是什么?Google+让Google在线资产在日常生活中更普及
  9. PLC学习第一篇:PLC程序架构
  10. 天气预报服务器响应超时,天气预报为啥有时不准? - 广西首页 -中国天气网