问题标签 [lidar-data]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 将 32 字节二进制大端文件(激光雷达数据)转换为 python 列表或数组
我有一个 32 字节二进制大端格式的 LiDAR 数据集,我需要将其转换为 python 列表或数组,然后将其转换为 PCD 文件。我目前正在使用以下代码,但它仅适用于 16 字节。
我应该进行哪些修改才能让代码适用于 32 字节大端文件? 这是我正在使用的文件的链接。
lidar - LasTools-lasthin-percentile
有人对带有百分位选项的lasthin有任何经验吗?我有一个巨大的激光雷达点云,我只需要 75% 及以上。我将接近第 75 个百分位的点标记为第 8 类,然后使用lasheight我将其标记为高于该百分位的低噪声(第 7 类)。但我不确定这是否是正确的方法。在应用睫毛时,它要求我说明高度。但是不知道具体的高度是多少...
r - Creating orthomosaic from *.las point cloud in R
Is there a way to export a *.las point cloud in R to a orthomosaic? I loaded my las-file containing the points with the package lidR. I want to export a tif which shows the point cloud from above in RGB, similar to what an orthophoto would look like. The data was collected using a terrestrial laser scanner.
training-data - 从每个边界框中提取
我从我的 .pcd 文件中获得了每个边界框的坐标,并且输出以 json 格式保存。我的下一步是根据边界框坐标(X,Y,Z,I)从 .pcd 中提取 3D 点云) 并将其发送到培训。
现在,真正的问题是如何从边界框中提取点?有什么工具可以用来从边界框中提取 3D 点云吗?谢谢!!
ios - iPad 的激光雷达相机上不支持深度数据格式
我想在新 iPad Pro 2020 上流式传输由 LiDar 摄像头生成的深度图。
我的目标是从 TrueDepth Camera 获得类似Streaming Depth Data 的东西,其中深度图是彩色的,但我不想使用 TrueDepth 相机(正面),而是想调整 LiDar 相机的代码。但似乎没有 .supportedDepthDataFormats 用于 AVCaptureDevice 与 builtInWideAngleCamera(背面)。
如果无法流式传输来自 LiDar 的深度数据,我没有得到答案。有人有线索吗 ?
这是我的 ViewController 代码(从 Apple 示例应用程序中提取):
当我处理我的后置摄像头时,我没有得到与深度数据兼容的格式:
深度格式 = []
所以 :
过滤 = [] & selectedFormat = []
由于没有支持的格式,我的应用程序此时崩溃,错误提示是使用 .supportedDepthDataFormats 属性..
python - 从 numpy 读取并保存为 las 文件
我想以 .las 格式保存一些文件,我找到了这段代码:
这可以正常工作但这是针对仅具有XYZ值的数据,如何为具有 XYZ 标签值的数据编写此内容???...我的源数据集是 *.txt 格式。
c++ - 是否有一种算法可以找到异常值的平均值?将激光雷达数据转换为接触点
我对编程比较陌生,尽管我了解它在中级水平上是如何工作的。
我有一个安装在墙上的 LiDAR 传感器 (YDLiDAR-G4),可以扫描墙上的所有东西。目标是当有人触摸墙壁时,激光雷达会检测到触摸,然后将极坐标数据转换为 x 和 y 坐标。传感器必须能够检测多个触摸点,例如传感器右侧的一个和左侧的一个。理论上,如果传感器足够好,接触点的数量应该是无限的,但这当然是不可能的,所以假设最多有 10 个接触点。
我已经弄清楚了以上所有内容,但是由于传感器扫描了许多不同的点,因此单个“接触点”看起来就像非常接近的多个点。
有没有办法将所有这些点变成一个单一的“接触点”?
起初我尝试运行一个嵌套的 for 循环来查看一个点是否在另一个点的一定距离内,如果是,它会将它们过滤掉,但这不是超级一致的,它也不能很好地工作。
在这段代码中,我有两个向量包含一个结构 Point2D(笛卡尔坐标),它检查是否有任何点在另一个点的一定距离内,它只将其中一个推到下一个列表中。列表 1 具有激光雷达拾取的所有 x 和 y 坐标,列表 2 为空。
我已经知道这不起作用,因为我很确定这只会过滤掉许多点中的一个,但我不知道用这种方法还能如何做到这一点。
所以这就引出了我的问题,是否有一种算法只取异常值的平均值?例如,如果我的手指粗,传感器检测到 (.7,.7)、(.72,.71) 和 (.75,.73) 处的点,以及 (.3,.3)、(. 29,.29) 和 (.28,.28) 我可以取它们的平均值并将它们作为单独的点 (.723,.713) 和 (.29,.29) 输出吗?
point - 如何使用 lastool/C++ 读取 laz-header 或仅读取 laz 文件的一部分
迭代数百个 laz 文件时,读取 laz 文件需要花费大量时间。但是只读取 header 读取数百个 las 文件只需要不到 100 毫秒的时间。
读取 laz 文件的所有属性时也会出现同样的问题。解压所有属性的时间太长了。有什么方法可以读取想要的属性吗?例如:只读X
能读得快吗?</p>
如果我想读取 laz 文件的任何属性,我必须解压整个 class LASreader
。这太慢了,没有意义。