C# 点云匹配 (Visual studio 2013)

标签 c# point-cloud-library point-clouds object-recognition

对于一家公司,我需要制作一 strip 摄像头的传送带,以识别经过的物体(并用机器人捡起这些物体)。

他们坚持使用 C#,因为这是公司的指导方针。 目前我已经编写了如何读取对象的代码,然后我(目前)手动将点云导出为 .XYZ 格式(这似乎是最简单的格式)。

对象是可识别的,所以我想进入下一步:识别对象。

但我对如何走得更远感到困惑。我想将扫描的对象与数据库中的对象进行匹配。谷歌搜索时我找到了 PCL(点云库),但它只适用于 C++

有没有现成可用的 PCL 替代品?我是编程新手,所以我几乎不可能将 PCL 从 C++ 翻译成 C#。

任何帮助将不胜感激。

请记住:我只是一名机械工程专业的学生,​​我最近才自学了该项目的 C# 基础知识。

最佳答案

您有多种选择。正如您所说,您使用的是相机,所以您有一个二维图像。但是 PCL 用于处理 3D 点云。您最好使用 SIFT 或 SURF 等图像 2D 描述符。

但是如果对象很容易识别,比如白色背景中的黑色圆圈或矩形,你可以用角点描述符来做,然后找到相机当前图像和数据库图像的角点匹配。

最后,如果您想使用 PCL,可以在 C# 代码中使用它。唯一要做的就是创建一个包装器。这并不难。包装器只是一个中间项目,让您可以从 C# 代码中调用 C++ 函数。 Here你可以找到一个简单的教程。

还有一个自动包装器的程序: A Code Generator for Creating Two-Ways Bridges between Native World and .NET World .不过我没用过。

关于C# 点云匹配 (Visual studio 2013),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32995090/

相关文章:

javascript - 使用三个js和NSF OpenTopography数据的点云: How do you set up the camera and a controls library to navigate the data?

algorithm - 将 3D 点云与 CAD 模型相匹配

c# - 对 dto 和类对象进行逻辑检查

c# - 如何检查行是否存在?

opencv - 将pcl xyzrgb(a)点云转换成云的不同角度的图像

python - 将点云从 .txt 转换为 .ply

python-3.x - 我们如何使用 python 从点云数据(来自 .PCD 文件)中选取 3D 点?

c# - ASP.NET C# 将方法移动到类文件并从代码隐藏调用它

c# - 将 xml 反序列化为 Linq to SQL 对象

3d - 将 3D 平面转换为 2D