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三维散点图制作方法记录相关推荐

  1. matlab中绘制三维散点图scatter3函数的使用方法(附matlab代码)

    一.语法 1.scatter3(X,Y,Z) 在向量 X.Y 和 Z 指定的位置显示圆圈. 2.scatter3(X,Y,Z,S) 使用 S 指定的大小绘制每个圆圈.要绘制大小相等的圆圈,请将 S 指 ...

  2. python matplotlib散点图-Matplotlib scatter绘制散点图的方法实现

    前言 考虑到很多同学可能还没有安装matplotlib包,这里给大家提供我常用的安装方法.首先Win键 + R,输入命令cmd打开命令行工具,再次在命令行工具中输入pip install matplo ...

  3. 使用Matplotlib在Python中绘制三维散点图

    什么是Matplotlib? Matplotlib是Python中的一个库,用于创建静态和动态动画,并使用其内置函数绘制.它有很多内置特性和内置分析工具,用于分析任何图形或图表. 如果我们想绘制任何三 ...

  4. Keil中部分Error Warning解决方法记录

    本文主要记录在使用Keil软件的过程中所遇到Error & Waring的解决方法,文中记录的解决方法大部分来源于网络,并均验证其正确才记录的. 1. Error解决方法 1.1 *** ER ...

  5. Vegas Pro中移动马赛克的制作方法

    在我们使用素材制作成各种各样漂亮的视频时,也别忘了保护他人的肖像权,当然如果你不是作为商业使用的话,不对人脸添加马赛克的影响也不大.本期小编就带大家来看一下如何使用Vegas对一些人物的肖像进行运动追 ...

  6. python 散点图点击链接图片_在Python和matplotlib中连接三维散点图中的两点

    在这些点之间绘制线段:import matplotlib.pyplot from mpl_toolkits.mplot3d import Axes3D dates = [20020514, 20020 ...

  7. js中的contains()方法记录

    今天做题的时候遇到了contains()方法 没见过 发帖子记录一下 这个方法是用来计算是否包含某个元素节点的// 返回值为布尔类型 附上自己测试代码 <body><div id=& ...

  8. matplotlib.pyplot中scatter函数

    scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, l ...

  9. CorelDRAW中的三维线条表现方法

    CorelDRAW图形设计工具的最优势之一是其强大的交互式工具. 调和工具就是这样一种互动性很强的工具,从表面上看来可能不是那么突出,但功能是真的强啊!一旦发现它的潜力,它很快就会成为经验丰富的Cor ...

最新文章

  1. 【AT2434】JOI 公園 (JOI Park) 最短路+贪心
  2. 《C++ Primer》2.6.1节练习
  3. 应用层协议:HTTP与HTTPS协议详解、二者的区别
  4. 阿波罗配置中心(apollo)的个人看法
  5. tsql是mysql中的吗_Mysql中的sql是如何执行的
  6. 压测学习总结(2)——Jmeter 基本知识入门
  7. 企业管理器控制台本地无法访问
  8. Mac系统使用VS Code编译Bootstrap 4
  9. 魔兽争霸3 冰封王座 w3g文件如何打开
  10. Win10系统如何修改无线MAC地址的几种方法
  11. 视频转GIF动图MATLAB源码
  12. 关于精益创业的方法论,看完这些就掌握了大半!
  13. win10重装系统后没有网卡驱动
  14. rand()和srand()
  15. 2020PMP:报考条件、报考步骤、考试内容、适合人群、考试时间、考试费用
  16. 操作系统4小时速成:内存管理,程序执行过程,扩充内存,连续分配,非连续分配,虚拟内存,页面替换算法
  17. 软件测试项目实战案例分解,跟着我一步一步操作【人力资源管理系统】
  18. 转载——天才与锻炼(华罗庚)
  19. 在windows下使用docker做本机linux环境系统测试
  20. vscode设置不显示某些文件或文件夹

热门文章

  1. javascript 类中函数调用的that模式,避免this的丢失
  2. java-net-php-python-ssm动漫论坛系统查重PPT计算机毕业设计程序
  3. RGB、HSV、LAB的相互转换
  4. 模块一:shell 脚本基础
  5. Linux安装软件包无法打开rpm,详解Linux 操作系统下安装rpm包的方法步骤
  6. 转载nbsp;MTK存储系统相关
  7. git命令从gitlab上克隆代码的时候遇到的问题
  8. 斗地主游戏的案例开发
  9. 【软考软件评测师】第四章节 黑盒测试测试方法
  10. linux的ps命令指定显示什么,Linux:ps命令详细使用