【3D人脸】Open3D学习笔记 一
最近头疼于点云法向量的计算,实在找不到python的相关资料,想起来Open3D这个专门的工具。一搜还真有,踩了很多坑,记录一下。
Open3D官方文档:http://www.open3d.org/docs/release/index.html
1、安装配置
还是直接pip install --user open3d-python比较简单粗暴。
一开始用pip install --user open3d得到的库不太全,很多东西都没有,不知道为啥。后来尝试按照官方文档的教程,一步步编译源码,但是不知道是我自己太菜了还是他文档写的不清楚。总之,很复杂,很不顺利,甚至觉得还有英语的语病,头大。
最终终于找到办法,加上-python,完成了安装配置。
2、用啥学啥
estima_normals()
o3d.geometry.PointCloud.estimate_normal()??? 不,不对,虽然在官方文档中estimate_normal方法是PointCloud下的,但是居然是用o3d.geometry.estimate_normal()调用,我也是服气。然后看看这个函数干了点啥吧,哦,knn法估计法向量,然后返回一个bool值??what?那我怎么获取法向量?
好吧,百度了一圈,也没查到。新事物果然资源少(所以果断用完来写博客,共享给所有人)
言归正传,解决办法找到了:
之前一直看的是下面的pythonAPI,原来还是要看TUTORIAL。
废话不多说,正确的使用方法:
import numpy as np
import open3d as o3dpcd = o3d.io.read_point_cloud("../../TestData/fragment.ply")
#可视化一下
o3d.visualization.draw_geometries([pcd])#下采样
downpcd = pcd.voxel_down_sample(voxel_size=0.05)
o3d.visualization.draw_geometries([downpcd])#计算法向量
downpcd.estimate_normals(search_param=o3d.geometry.KDTreeSearchParamHybrid(radius=0.1, max_nn=30))
o3d.visualization.draw_geometries([downpcd])#原来这样获取
print("Print a normal vector of the 0th point")
print(downpcd.normals[0])
print("Print the normal vectors of the first 10 points")
print(np.asarray(downpcd.normals)[:10, :])
3、偶然发现
在可视化的时候发现除了鼠标能拖动旋转,没有别的按钮来操作了,很想吐槽。偶然间碰到了键盘按键,发现别有洞天。
具体的,按下‘h’键,命令行会给出帮助菜单,如下:
至此,开心完成学习,可以用来轻松获取法向量了。
【3D人脸】Open3D学习笔记 一相关推荐
- 3D人脸重建--学习笔记
本文旨在学习总结2D到3D人脸重建相关问题,个人水平有限,本人也是刚开始调研3D人脸重建,不足之处望大神指点改进. 文章目录 1 什么是3D人脸重建? 2 重建方法分类 3 通用模型3D人脸重建 4 ...
- 图形处理(十三)基于可变形模板的三维人脸重建-学习笔记
基于可变形模板的三维人脸重建-学习笔记 原文地址:http://blog.csdn.net/hjimce/article/details/50331423 作者:hjimce 一.数据库处理: 我们通 ...
- OPEN3D学习笔记(三)——KDTree ICP Registration
OPEN3D学习笔记(三) KDTree Build KDTree from point cloud Find neighboring points ICP Registration 可视化配准过程 ...
- OPEN3D学习笔记(四)——Global registration
OPEN3D学习笔记(四) Global registration Extract geometric feature Input RANSAC Local refinement Fast globa ...
- OPEN3D学习笔记(六)——Multiway registration
OPEN3D学习笔记(六) Multiway registration Input Pose graph Visualize optimization Make a combined point cl ...
- 3D目标检测学习笔记
博主初学3D目标检测,此前没有相关学习背景,小白一枚-现阶段的学习重点是点云相关的3D检测. 本文是阅读文章:3D Object Detection for Autonomous Driving: A ...
- 嵌入式3D人脸识别(笔记)
3D人脸识别在人脸识别中所占比例58%(2020年),3D是趋势. 3D人脸误识率1/100万,2D人脸误识率1/1万. 应用人脸活体.高精度识别. 几种深度相机比较: 双目:运算量大,受光照影响(过 ...
- 《AutoCAD Advanced 3D Modeling》学习笔记
AutoCAD是一款非常流行的计算机辅助设计软件,在工程.建筑.制造和许多其他领域中都得到了广泛的应用. <AutoCAD Advanced 3D Modeling>是LinkedIn L ...
- Android加载3D模型的学习笔记
篇章目标要点 3D模型的使用最早是在游戏领域广泛使用的,随着技术的发展,其他工业领域也在逐步引入3D相关的技术设计.本文是结合初学3D模型的读取和显示总结的心得,本文作为序列的第一篇介绍,重点会阐述3 ...
最新文章
- 基于Springboot实现企业人事管理系统
- 项目: 用C语言写一个图形化的音乐播放器 【C++ / C】
- Express + mongoDB + nodejs
- 常用的python命令行解析库
- android-铃声的设置与播放
- c语言改错和填空能运行吗,C语言改错填空编程
- Linux启动syslog进程,linux – 使用systemd启动的进程正在记录到/ var / log / syslog和/var/log/daemon.log...
- mysql binlog限流问题总结
- Atitit 诗歌之道 attilax著 艾龙 著 1. 诗歌集分类	1 1.1. 国王颂歌	1 1.2. 爱情类(相逢 赞美 相识 思念 离去 分分离离 忘记)	1 1.3. 其他	1 2. 世界
- 贝莱德文化:领导者必须培养领导者
- 读书笔记 - 深入解析Windows操作系统 - C1. 概念和工具
- 关于4442卡的读密码问题
- 整理:状态机的编程思想
- Go 语言开发工具 LiteIDE x22 发布
- 什么是全栈工程师 摘自360
- 做自媒体视频剪辑到哪里找素材?
- mac怎么查python的版本_Mac下如何查看Python的版本?
- 2021华数杯数学建模选题建议
- 网络协议 -- IP地址
- Git冲突:Your local changes would be overwritten by merge. Commit, stash or revert them to proceed.
热门文章
- 【图片新闻】波音公司发布了一款令人惊叹的新型无人飞机:“忠诚的僚机”
- Android之AlarmManager
- php mysql 单例模式_php单例模式
- 第七天----创建型设计模式笔记
- 【AdGuard Home】轻松实现全屋去广告与追踪,AdGuard Home助力更安全浏览体验
- gomod的版本选择策略
- Windows 端口关闭命令
- 阿里用什么替代了dubbo_如果微信不能用了,有什么可以替代的软件?
- 【GoCN酷Go推荐】 ​文本差异对比工具 go-diff
- 使用pygal_maps_world.i18n中数据画各大洲地图