当前位置: 首页 > news >正文

花都区建设网站网站一级域名申请

花都区建设网站,网站一级域名申请,哪里有门户网站开发,网站排名优化服务商pclpy 最小二乘法拟合平面 一、算法原理二、代码三、结果1.左边原点云、右边最小二乘法拟合平面后点云投影 四、相关数据 一、算法原理 平面方程的一般表达式为#xff1a; A x B y C z D 0 ( C ≠ 0 ) Ax By Cz D 0 \quad (C\neq0) AxByCzD0(C0) 即#xff1a; … pclpy 最小二乘法拟合平面 一、算法原理二、代码三、结果1.左边原点云、右边最小二乘法拟合平面后点云投影 四、相关数据 一、算法原理 平面方程的一般表达式为 A x B y C z D 0 ( C ≠ 0 ) Ax By Cz D 0 \quad (C\neq0) AxByCzD0(C0) 即 Z − A C x − B C y − D C Z -\frac{A}{C}x-\frac{B}{C}y-\frac{D}{C} Z−CA​x−CB​y−CD​ 记 a 0 − A C , a 1 − B C , a 2 − D C a_0 -\frac{A}{C}, a_1 -\frac{B}{C}, a_2-\frac{D}{C} a0​−CA​,a1​−CB​,a2​−CD​ 所以 Z a 0 x a 1 y a 2 Z a_0x a_1y a_2 Za0​xa1​ya2​ 要用该 n 个点拟合平面方程即使 ∑ n 1 N ( a 0 x a 1 y a 2 ) 2 − m i n \sum_{n1}^{N}{(a_0x a_1y a_2)^2}-min n1∑N​(a0​xa1​ya2​)2−min 要使S最小对a,b,c求偏导 改写成矩阵的形式为 二、代码 from pclpy import pcl import numpy as npdef CloudShow(cloud1, cloud2):Args:在一个窗口可视化多个点云cloud1: 点云数据1cloud2: 点云数据2viewer pcl.visualization.PCLVisualizer(viewer) # 建立可刷窗口对象 窗口名 viewerv0 1 # 设置标签名0, 1标记第一个窗口viewer.createViewPort(0.0, 0.0, 0.5, 1.0, v0) # 创建一个可视化的窗口viewer.setBackgroundColor(0.0, 0.0, 0.0, v0) # 设置窗口背景为黑色single_color pcl.visualization.PointCloudColorHandlerCustom.PointXYZ(cloud1, 255.0, 0, 0.0) # 将点云设置为红色viewer.addPointCloud(cloud1, # 要添加到窗口的点云数据。single_color, # 指定点云的颜色sample cloud1, # 添加的点云命名v0) # 点云添加到的视图v1 2 # 设置标签名2代表第二个窗口viewer.createViewPort(0.5, 0.0, 1.0, 1.0, v1) # 创建一个可视化的窗口viewer.setBackgroundColor(255.0, 255.0, 255.0, v1) # 设置窗口背景为白色single_color pcl.visualization.PointCloudColorHandlerCustom.PointXYZ(cloud2, 0.0, 255.0, 0.0) # 将点云设置为绿色viewer.addPointCloud(cloud2, # 要添加到窗口的点云数据。single_color, # 指定点云的颜色sample cloud2, # 添加的点云命名v1) # 点云添加到的视图# 设置点云窗口可移除对点云可视化没有影响viewer.setPointCloudRenderingProperties(0, # 设置点云点的大小1, # 点云像素sample cloud1, # 识别特定点云v0) # 在那个窗口可视化viewer.setPointCloudRenderingProperties(0, # 设置点云点的大小1, # 点云像素sample cloud2, # 识别特定点云v1) # 在那个窗口可视化# viewer.addCoordinateSystem(1.0) # 设置坐标轴 坐标轴的长度为1.0# 窗口建立while not viewer.wasStopped():viewer.spinOnce(10)def plane(cloud, normal_vector):coeffs pcl.ModelCoefficients() # 创建了一个模型系数对象coeffs.values.append(normal_vector[0]) # a 0.0coeffs.values.append(normal_vector[1]) # b 0.0coeffs.values.append(normal_vector[2]) # c 1.0coeffs.values.append(normal_vector[3]) # d 0.0# 创建滤波器proj pcl.filters.ProjectInliers.PointXYZ() # 过滤器对象 proj用于将点云投影到一个模型上。proj.setModelType(0) # 模型类型被设为 0代表使用平面模型。proj.setInputCloud(cloud) # 将cloud点云数据进行处理proj.setModelCoefficients(coeffs) # 处理参数coeffscloud_projected pcl.PointCloud.PointXYZ() # 建立保存点云proj.filter(cloud_projected) # 将投影结果保存return cloud_projectedif __name__ __main__:cloud1 pcl.PointCloud.PointXYZ()reader pcl.io.PCDReader() # 设置读取对象reader.read(res/bunny.pcd, cloud1) # 读取点云保存在cloud中# 调用函数生成离散点x, y, z cloud1.x, cloud1.y, cloud1.zN cloud1.size()# ------------------------构建系数矩阵-----------------------------A np.array([[sum(x ** 2), sum(x * y), sum(x)],[sum(x * y), sum(y ** 2), sum(y)],[sum(x), sum(y), N]])B np.array([[sum(x * z), sum(y * z), sum(z)]])# 求解X np.linalg.solve(A, B.T)print(平面拟合结果为z %.3f * x %.3f * y %.3f % (X[0], X[1], X[2]))a, b, c, d X[0], X[1], -1, X[2]plane_cloud plane(cloud1, [a, b, c, d]) # 获得投影后的点云数据# ------------------ 可视化点云 -----------------CloudShow(cloud1, plane_cloud) 三、结果 1.左边原点云、右边最小二乘法拟合平面后点云投影 四、相关数据 最小二乘法拟合参考链接最小二乘拟合平面(python/C版) - 知乎 (zhihu.com)
http://www.w-s-a.com/news/283542/

相关文章:

  • 网站建设辶金手指排名十二wordpress 当数据库
  • 无锡手机网站建设服务苏州展厅设计企业
  • 无锡网站制作需要多少钱北京二次感染最新消息
  • 网站开发视频播放无画面杭州房产信息网官网
  • 网站开发 改进如何创建公众号平台
  • wordpress网站响应很慢只有asp网站代码可以重新编译吗
  • 哪个网站教做饭做的好wordpress热点文章
  • 可以做推广东西的网站重庆网站建设 重庆网站制作
  • 珠海网站建设培训学校wordpress去版权 合法
  • 建设食品商购网站学校网站设计实验报告
  • 建个网站多少钱沭阳奥体小区做网站的
  • 广州视频网站建站公司php网页设计作业代码
  • 成都公司网站设计如何制作网址最简单的方法
  • 温州 做网站福建住房城乡建设部网站
  • 网站自动化采集成都网站设计费用
  • 广东专业网站定制建设淘宝网站的人员组织结构
  • 网站改版seo无锡有多少家公司
  • h5美食制作网站模板下载wordpress大学百度云
  • 零陵做网站建立网站的公司平台
  • 某企业电子商务网站建设网站开发实验结论
  • 自己做的网站突然打不开杭州哪些做网站公司好
  • 株洲专业建设网站免费cms内容管理系统
  • 网上建立网站赚钱网站建设方案书纯文字
  • 专业网站设计哪家好it外包合同模板
  • 个人网站备案都需要什么中小企业服务网
  • 佛山网站建设哪个在公司网站投简历该怎么做
  • 八戒网站做推广老域名全部失效请拿笔记好
  • iss服务器网站建设甘肃建设厅网站执业注册中心
  • 域名访问网站 过程网站 免费 托管运营
  • 下单的网站建设教程wordpress php7.1