2012-03-12 610 views
3

我想知道如何使用kinect深度值來計算物體的實際尺寸。使用kinect深度數據查找物體的實際尺寸

例如,如果kinect在它前面看到一個圓形物體,並且圓形物體在圖像中佔用了100個像素的空間,並且kinect給出的深度值是x,那麼我將如何知道實際大小圓形物體?

我不需要它在單位像米或任何東西,我只是試圖找到一個公式來計算對象的大小是獨立的,從多遠的對象是從kinect。

我正在使用OpenCV和kinect SDK,如果有任何有用的請讓我知道。

在此先感謝。

回答

1

要查找在給定大小的二維三維尺寸,你只是做:

3d_rad = 2d_rad * depth 

所以,如果球出現在屏幕10個像素寬的,爲1米以上的距離,果然是10 「單位」廣泛。做一些小小的遊戲來找出返回的單位,我不確定他們會是什麼。

假設在屏幕上有一個20像素半徑的球,並且深度返回爲30,那麼球的實際尺寸爲20 * 30 = 600個單位。再次,我不確定什麼單位,它取決於相機,但它是一個常數,所以玩它。在相機前放一個1米高的球,足夠遠,看起來像100像素。這個距離的倒數應該是轉換因子,將你有的單位轉換爲釐米,並且可以用作常量。例如:

3d_rad_in_cm = conversion * 2d_rad * depth