python 的 pointcloud 计算探路
python 的 pointcloud 计算
数据读取
def read_data_file(filename, Separator):data = [[], [], []]f = open(filename,'r') #读取文件line = f.readline() num = 0while line: #按行读入点云c,d,e = line.split(Separator)data[0].append(c) #X坐标data[1].append(d) #Y坐标data[2].append(e) #Z坐标num = num + 1line = f.readline()f.close() #string型转float型 x = [ float(data[0] )/1000 for data[0] in data[0] ] #因为此处计算按照米的距离数据,我们精确到毫米y = [ float(data[1] )/1000 for data[1] in data[1] ]z = [ float(data[2] )/1000 for data[2] in data[2] ]#print("读入点的个数为:{}个。".format(num))point =pd.DataFrame([x,y,z]).Treturn point
该图片来自于tof生成的距离数据
按照数据的意义:此处需要对数据滤波处理,有时我们要根据实际的情况,加噪声,有时我们需要根据实际情况去噪声。
此处加高斯噪声(白噪声、椒盐噪声,因此处经过测试发现加高斯噪声,效果较好):
def jitter_point(point, sigma=0.01, clip=0.05):assert(clip > 0)point = np.array(point)point = point.reshape(-1,3)Row, Col = point.shapejittered_point = np.clip(sigma * np.random.randn(Row, Col), -1*clip, clip)jittered_point += pointreturn jittered_point
点云数据去噪方法:
双边滤波、高斯滤波、分箱去噪、KD-Tree、直通滤波、随机采样一致性滤波等
此处我们采用均值滤波以及小波变化对数据消噪处理;
coor = np.zeros((int(len(add_data[:,0])/3),3))
for i in range(len(coor[:,0])):coor[i,0] = np.sum(add_data[3*i:3*(i+1),0])coor[i,1] = np.sum(add_data[3*i:3*(i+1),1])coor[i,2] = np.sum(add_data[3*i:3*(i+1),2])
最终我们形成如下的图形:
均值滤波后的深度数据得出的结果。
下一讲我们继续考虑小波变化的方法去除噪声
python 的 pointcloud 计算探路相关推荐
- 使用Python、OpenCV计算轮廓的中心
1. 使用Python.OpenCV计算轮廓的中心并标记 2. 使用Python.OpenCV检测轮廓的形状并标记 3. 使用颜色通道统计信息来标记形状的实际颜色并标记 本博客的目标:(1)检测图像中 ...
- 使用Python,OpenCV计算图像直方图(cv2.calcHist)
使用Python,OpenCV计算图像直方图(cv2.calcHist 1. 效果图 2. 原理 2.1 什么是图像直方图? 2.2 计算直方图 2.3 可视化蒙版区域 3. 源码 参考 这篇博客将介 ...
- python使用pandas计算dataframe中每个分组的分位数极差、分组数据的分位数极差(range)、使用groupby函数和agg函数计算分组的两个分位数
python使用pandas计算dataframe中每个分组的分位数极差.分组数据的分位数极差(range).使用groupby函数和agg函数计算分组的两个分位数 目录
- python使用pandas计算dataframe中每个分组的极差、分组数据的极差(range)、使用groupby函数和agg函数计算分组的最大值和最小值
python使用pandas计算dataframe中每个分组的极差.分组数据的极差(range).使用groupby函数和agg函数计算分组的最大值和最小值 目录
- python题目关于企业利润_【每日一练】巧用python实现利润计算
原标题:[每日一练]巧用python实现利润计算 相信很多小伙伴都遇到过阶梯利率的问题,比如说银行的利息计算,不同阶段的本金有不同的利率:税务的税费计算,不同的营收有不同的缴纳率:个人的提成,不同的销 ...
- python输入数字翻译成星期几-Python练习笔记——计算输入日期为改年的第几天、星期几...
# 输入年月日,如:1995年12月10日,计算是该年的第几天? # 同时计算出当天是星期几? print("请依据提示依次输入您想查询的年 月 日") # 第一段代码块(年月日输 ...
- python科学计算基础教程pdf下载-用Python做科学计算 高清晰PDF
用Python做科学计算一书介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,我们还将着重介绍如何制作交互式的2D.3D图像:如何设计精巧的程序界面:如何和C语言所编写的高速计算程序 ...
- python科学计算基础教程pdf下载-用Python做科学计算 pdf版
本书将介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,我们还将着重介绍如何制作交互式的2D.3D图像:如何设计精巧的程序界面:如何和C语言所编写的高速计算程序结合:如何编写声音.图 ...
- 使用Python进行科学计算:NumPy入门
原创2016-08-07Jamal Moir编程派 编程派微信号:codingpy 本文由 Python 翻译组 最新翻译出品,原作者为 Jamal Moir,译者为 cystone,并由编程派作者 ...
最新文章
- npm ERR! code ELIFECYCLE
- 密码篇——非对称加密
- python正则表达式模块_Python正则表达式模块(re模块)
- SAP Spartacus cxOutlet 里的 templatesRefs 的填充逻辑
- ECharts 点击非图表区域的点击事件不触发问题
- c语言math函数 sgn,常用矩阵计算C语言代码
- Spring中常用注解的介绍
- 日志组件logback的介绍及配置使用方法(一)
- EF-CodeFirst-3搞事
- 宾馆管理系统(做了ppt忘记发博客了)
- 代码review总结
- 语义分析(输出四元式)
- 键盘连不上计算机,电脑键盘失灵的解决办法
- Mac搭建本地局域网SVN服务(Cornerstone)
- MacBook 快捷键个人总结和设置
- JSFL批量删除fla文件中超出某个宽度的原件
- 用Java实现递归与分治系列(二)
- 在线安装计算机应用软件,计算机应用与网络基础教程 常用软件安装new.ppt
- 重磅更新 | zData数据库一体机 v4.9
- 0丢失之谜:解决Oracle中0开头小数被截断的问题
热门文章
- 快播3.5不升级版常见问题
- 漂白android软件,原本图片漂白软件(图片漂白处理工具)V1.1 最新版
- Android开发者选项 介绍
- 谷歌浏览器点击任意部分都会出现黑色光标
- 新华三“智・行中国2022”|大厂行动,如何擘画“内循环”的数字未来?
- 戴森空气净化器php00使用,戴森空气净化器好用吗?有什么使用技巧?
- 78系列79系列稳压芯片
- 数据恢复软件(列表)
- 一些常用的postman测试脚本
- 用AI技术防止幼儿园虐待儿童,中国研究员研发视频流分析模型