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

江苏省城乡建设厅网站无锡网站建设价格

江苏省城乡建设厅网站,无锡网站建设价格,做旅游攻略去什么网站好,涿州市查建设局网站PCL内置了许多点云类型供我们使用#xff0c;下面先介绍PLC内置的点云数据类型 PCL中的点云类型为PointT#xff1b;至于为什么是PointT类型需要追随到原来的ros开发中去#xff0c;因为PCL库也是从原来的ROS中剥离出来的#xff1b;大家都一致的认为点云结构是离散的N维信…PCL内置了许多点云类型供我们使用下面先介绍PLC内置的点云数据类型 PCL中的点云类型为PointT至于为什么是PointT类型需要追随到原来的ros开发中去因为PCL库也是从原来的ROS中剥离出来的大家都一致的认为点云结构是离散的N维信息描述的物体。因此最简单的点云结构便是XYZ下面首先来看看XYZ三维信息如何在PCL中实现的。 1 PointXYZ 最简单的XYZ点云结构体包含X,Y,Z信息和一个padding此处额外增加一个padding是为了满足支持SSE指令集的处理器并实现SIMD向量化加速而额外添加的一个信息该信息无实际意义如果你觉得这里使用浪费了内存资源你可以去掉最后一个padding维度并使用简单的XYZ来代表一个点云数据。 struct PointXYZ {float x;float y;float z;float padding; }; 如下是之前已经演示过的一个简答示例 该示例创建了一个PointXYZ类型的点云数据并向其中随机添加了1000个点云信息。 其中 #include iostream #include pcl/io/pcd_io.h #include pcl/point_types.h #include pcl/common/common.hint main(int argc, char **argv) {pcl::PointCloudpcl::PointXYZ cloud;// Fill in the cloud data/* pcl中的点云分为有序点云与无序点云* 1、有序点云类使用深度相机生成的点云数据该点云数据有指定的宽高* 有序点云数据的可以轻松的获取相邻点的信息这可以极大的提升某些点云算法的运算效率** 2、无序点云就是常规的点云数据无序点云的height始终为1width为点云的个数**///可以自行切换下面的注释看看有什么区别 // cloud.width 640; // Image-like organized structure, with 480 rows and 640 columns, // cloud.height 480; // thus 640*480307200 points total in the datasetcloud.width 640*480; // unorganized point cloud dataset with 307200 pointscloud.height 1;//is_dense 指定points中的信息数据是否全部是有效数值的是则为true// 当数据集中包含有Inf/NaN等无效值时此时为false。cloud.is_dense false;cloud.points.resize(cloud.width * cloud.height);for (auto point: cloud) {point.x 1024 * rand() / (RAND_MAX 1.0f);point.y 1024 * rand() / (RAND_MAX 1.0f);point.z 1024 * rand() / (RAND_MAX 1.0f);}for (auto point: cloud) {std::cout point.x point.y point.z std::endl;}pcl::io::savePCDFileASCII(test_pcd.pcd, cloud);std::cerr Saved cloud.size() data points to test_pcd.pcd. std::endl;for (const auto point: cloud)std::cerr point.x point.y point.z std::endl;//判断点云是否为有序点云if (!cloud.isOrganized ()){std::cout该点云为无序点云std::endl;}return (0); }2 PointXYZI PointXYZI包含点云的坐标XYZ和该点的强度intensity信息大家可能会觉得多了一个强度信息就可以使用强度信息替换掉PointXYZ中被无效占用的padding但是实际上他的存储是这样的 union {float data[4];struct{float x;float y;float z;}; }; union {struct{float intensity;};float data_c[4]; }; 点云还是占用了4个float空间一个强度信息也占用了4个float空间这样的原因如下 1 大多数的SE3变换中最后一行的元素都是0或者1如果此时将强度信息与点xyz整合在一块内存区域那么这其中的点乘操作会使得第四个维度的强度信息无意义因此不如分开存放并进行内存对齐有利于SSE的SIMD运算 3 PointXYZRGBA PointXYZRGBA点云类型包含了xyz与std::uint32_t rgba类型的颜色信息 注此处的嵌套union结构为历史原因导致应该在新的代码中舍弃 union {float data[4];struct{float x;float y;float z;}; }; union {union{struct{std::uint8_t b;std::uint8_t g;std::uint8_t r;std::uint8_t a;};float rgb;};std::uint32_t rgba; }; 4 PointNormal 点云中另外一种常见的数据类型是PointNormal其中normal代表该点的法向量信息与前面的PointXYZI一样此处为了计算效率也使用了额外的数据进行对齐 union {float data_n[4];float normal[3];struct{float normal_x;float normal_y;float normal_z;}; } union {struct{float curvature;};float data_c[4]; }; 5 衍生类型 其他的类型还包括如下几个 PointWithRange - float x, y, z (union with float point[4]), range;点和距离信息常见于RGBD图像 PointXYZRGBNormal - float x, y, z, normal[3], curvature; std::uint32_t rgba;点与颜色和法线信息 PointXYZINormal - float x, y, z, intensity, normal[3], curvature;点强度与法线信息 PointWithScale - float x, y, z, scale;点与尺度信息可以进行缩放操作 PointWithViewpoint - float x, y, z, vp_x, vp_y, vp_z;点与视场角信息 PointXY - float x,y;简单的二维结构仅保存关键点信息
http://www.hkea.cn/news/14399597/

相关文章:

  • 做衣服的网站推荐建设银行网银官方网站
  • 个人网站怎么备案做外包网站
  • 网站前台可以打开wordpress 本地视频插件安装
  • 耒阳网站建设包装设计网站设计平台
  • 张家口网站设计无锡朝阳网站建设
  • 网店模板素材seo关键词分析表
  • 百宝图建设工程电子网站小松建设官方网站
  • 判断网站cms如何做各大网站广告链接
  • 徐州网站开发市场网页开发者模式怎么打开
  • 什么网站可以做电影投资网络推广渠道公司
  • 网站建设公司怎么开拓业务ui特效网站
  • 网站外包公司该如何运营建设工程网站新专家入库
  • 如果做微商需不需要开个网站钉钉免登 wordpress
  • 青岛网站搭建公司创建自己网站
  • 校园网站建设硬件采购做网站的公司一年能赚多少钱
  • 如何部署thinkphp网站网站开发建设计入什么科目
  • 宁波专业品牌网站制作外包整站wordpress下载
  • 苏州企业网站建公司网站怎么建
  • 网站的分类有哪些类型网站制作 东莞
  • 菏泽建设公司网站网站安全建设策划书
  • 柳城网站制作红色系网站设计
  • 德州专业网站开发公司wordpress首页设计
  • 班级网站源码中国建设工程信息网清欠
  • 有什么公司建网站可以上传自己做的视频的网站
  • 东莞做营销网站建设织梦网站模板怎么做
  • 自己做网站挣钱吗wordpress怎么做网盘收索
  • 长春盛网网站建设山东省建设协会网站
  • 网站cdn 自己做漳州正规网站建设费用
  • 北京做网站建设的公司北京高端网站开发
  • 备案期间怎么做网站数字中国建设峰会 官方网站