3

我的问题分为以下两部分……</p>

问题(简短):

• 生成真实世界对象的点云……。

• 通过 360 度旋转它……在旋转台上

• 获取 360 度图像……每度(1° 到 360°)一张图像。

• 我知道如何处理图像并获得它的像素值。

• 请看下面的一张示例图……您可以看到图像是黑白的……因为我必须处理那些非常闪亮(闪光)的物体……而且它是 DIAMOND。所以我设置了背景,以便将闪亮的对象(钻石)转换为 B/W 对象。所以我可以很容易地扫描物体的外边缘(例如钻石)。

• 要考虑的一件事是我不使用任何激光……我只使用一个旋转台和一台相机来拍摄图像……你可以在这里看到一个示例项目……但是 MATLAB 隐藏了所有的东西……因为那个人使用 MATLAB 的在内置功能中。

实际上,我正在寻找数学例程或算法或任何可以帮助我了解如何获取点云的技术…….使用我提到的方式……..

更多细节:

我需要有真实世界对象的点云。所以,我可以在电脑屏幕上显示它。

为此,我使用了一张旋转台。我将把我的物体放在上面,然后将桌子旋转一个完整的 360° 旋转,我将拍摄 360 张图像……每度(1° 到 360°)一张图像。

用于拍摄图像的相机经过良好校准。我给出了一张示例图片,如下所示。我也知道如何扫描图像并获取它的像素值。

还要考虑到我的图像是剪影类型的……意味着只有黑白……没有彩色图像。

但我的问题是或者我被困在哪里......

获取对象的点云……从我通过图像处理获得的数据。

我在这里找到了一个相同的项目........但它只是使用内置的 MATLAB 函数......我使用的是 Microsoft Visual C#.Net,所以我必须自己构建整个算法......因为 MATLAB 隐藏了我想要的所有东西要知道……

有没有高手……。谁知道这一切,让我摆脱困境……!!!! 在此处输入图像描述

谢谢…..

4

1 回答 1

1

我没有这方面的经验,但如果我想做这样的事情,我会尝试这个:

  1. 使用单色光源
  2. 如果可能,创建一个落在对象的薄垂直切片上的光源。
  3. 有 360 张黑白图像,这些图像将是具有不同强度的垂直线的图像。如果您使用 matlab,您的矩阵将有一个/几列具有 sime 值。
  4. 现在假设一条垂直线(您的旋转轴)。5 绘图或转换(imageno、rownoOfMatrix、ValueInPopulatedColumnInSameRow)... [假设编号图像从 0 到 360]
  5. 在理想条件下 一个蹩脚的方法 要获得 X 和 Y 使用 K1 * cos imgNo * ValInCol 和 K1 * sin imgNo * ValInCol,并且 Z 将是一些 K2 * rowNum .. K1 和 K2 可以在知道对象的实际大小的情况下进行校准。

我的意思是这样的:http: //fab.cba.mit.edu/content/processes/structured_light/

但不是使用结构光,而是使用单个垂直光

http://www.geom.uiuc.edu/~samuelp/del_project.html这个链接可能有助于三角测量......

于 2011-05-12T10:22:53.847 回答