Pyplot中Scatter三维散点图制作方法记录
Pyplot中Scatter三维散点图制作方法记录
简介
物体识别是深度相机的应用方向之一,根据本工作已经做了平面、球体、圆柱体的识别算法,在这些算法中,点云必须属于单一物体,不能同时存在多个物体。这个要求并不符合实际应用,因为在实际中,被深度相机观测的物体往往是放置于台面、地面、支架上,或者同时存在多个物体,比如放在桌上的一筐苹果,这就产生了多物体识别的问题。
本工作中,多物体识别在算法层面采用RANSAC方法,程序层面采用CGAL库。感谢CGAL的支持,可以对包括平面、球、圆柱、圆锥、甜甜圈等几何体进行识别,并且能够实现多物体的识别。
三维散点图可以直观地展示多物体识别的效果,本工作使用Python的scatter函数实现。
三维散点图制作
# figurefig = plt.figure(dpi=128,figsize=(8,8))ax = fig.add_subplot(111, projection='3d')for i, name in enumerate(ShapeList):print('shapeName:',name)XCur = []YCur = []ZCur = []for j, nameCur in enumerate(ShapeName):if name==nameCur:XCur.append(X[j])YCur.append(Y[j])ZCur.append(Z[j])XCur = np.array(XCur)YCur = np.array(YCur)ZCur = np.array(ZCur)# Random sampling#size = int(len(XCur)/2)#index = np.random.choice(XCur.shape[0], size, replace=False)#XCur = XCur[index]#YCur = YCur[index]#ZCur = ZCur[index]# drawax.scatter(XCur, YCur, ZCur, s=5, cmap="jet", marker="o", label=name)# set lable ax.set_xlabel('X', fontsize=10)ax.set_ylabel('Y', fontsize=10)ax.set_zlabel('Z', fontsize=10)# set limits#ax.set_xlim(-200, 200)#ax.set_ylim(-200,200)#ax.set_zlim(-150, 50)# drawax.scatter(XCur, YCur, ZCur, s=5, cmap="jet", marker="o", label=name)# set lable ax.set_xlabel('X', fontsize=10)ax.set_ylabel('Y', fontsize=10)ax.set_zlabel('Z', fontsize=10)# set limits#ax.set_xlim(-200, 200)#ax.set_ylim(-200,200)#ax.set_zlim(-150, 50)# set titleplt.title('Shape Detection', fontsize=10)# overlapping plt.tight_layout()# legendplt.legend()# save figureplt.savefig('figure_step5_shapeDetection.png')# print figure on screenplt.show()
效果如图
Pyplot中Scatter三维散点图制作方法记录相关推荐
- matlab中绘制三维散点图scatter3函数的使用方法(附matlab代码)
一.语法 1.scatter3(X,Y,Z) 在向量 X.Y 和 Z 指定的位置显示圆圈. 2.scatter3(X,Y,Z,S) 使用 S 指定的大小绘制每个圆圈.要绘制大小相等的圆圈,请将 S 指 ...
- python matplotlib散点图-Matplotlib scatter绘制散点图的方法实现
前言 考虑到很多同学可能还没有安装matplotlib包,这里给大家提供我常用的安装方法.首先Win键 + R,输入命令cmd打开命令行工具,再次在命令行工具中输入pip install matplo ...
- 使用Matplotlib在Python中绘制三维散点图
什么是Matplotlib? Matplotlib是Python中的一个库,用于创建静态和动态动画,并使用其内置函数绘制.它有很多内置特性和内置分析工具,用于分析任何图形或图表. 如果我们想绘制任何三 ...
- Keil中部分Error Warning解决方法记录
本文主要记录在使用Keil软件的过程中所遇到Error & Waring的解决方法,文中记录的解决方法大部分来源于网络,并均验证其正确才记录的. 1. Error解决方法 1.1 *** ER ...
- Vegas Pro中移动马赛克的制作方法
在我们使用素材制作成各种各样漂亮的视频时,也别忘了保护他人的肖像权,当然如果你不是作为商业使用的话,不对人脸添加马赛克的影响也不大.本期小编就带大家来看一下如何使用Vegas对一些人物的肖像进行运动追 ...
- python 散点图点击链接图片_在Python和matplotlib中连接三维散点图中的两点
在这些点之间绘制线段:import matplotlib.pyplot from mpl_toolkits.mplot3d import Axes3D dates = [20020514, 20020 ...
- js中的contains()方法记录
今天做题的时候遇到了contains()方法 没见过 发帖子记录一下 这个方法是用来计算是否包含某个元素节点的// 返回值为布尔类型 附上自己测试代码 <body><div id=& ...
- matplotlib.pyplot中scatter函数
scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, l ...
- CorelDRAW中的三维线条表现方法
CorelDRAW图形设计工具的最优势之一是其强大的交互式工具. 调和工具就是这样一种互动性很强的工具,从表面上看来可能不是那么突出,但功能是真的强啊!一旦发现它的潜力,它很快就会成为经验丰富的Cor ...
最新文章
- 【AT2434】JOI 公園 (JOI Park) 最短路+贪心
- 《C++ Primer》2.6.1节练习
- 应用层协议:HTTP与HTTPS协议详解、二者的区别
- 阿波罗配置中心(apollo)的个人看法
- tsql是mysql中的吗_Mysql中的sql是如何执行的
- 压测学习总结(2)——Jmeter 基本知识入门
- 企业管理器控制台本地无法访问
- Mac系统使用VS Code编译Bootstrap 4
- 魔兽争霸3 冰封王座 w3g文件如何打开
- Win10系统如何修改无线MAC地址的几种方法
- 视频转GIF动图MATLAB源码
- 关于精益创业的方法论,看完这些就掌握了大半!
- win10重装系统后没有网卡驱动
- rand()和srand()
- 2020PMP:报考条件、报考步骤、考试内容、适合人群、考试时间、考试费用
- 操作系统4小时速成:内存管理,程序执行过程,扩充内存,连续分配,非连续分配,虚拟内存,页面替换算法
- 软件测试项目实战案例分解,跟着我一步一步操作【人力资源管理系统】
- 转载——天才与锻炼(华罗庚)
- 在windows下使用docker做本机linux环境系统测试
- vscode设置不显示某些文件或文件夹