2017-11-17 23 views

答えて

1

重要:生のkinect RGB画像に歪みがあります。最初に取り外します。

短い答え

あなたが探している「変換行列は、」投影行列と呼ばれています。

rgb.cx:959.5 
rgb.cy:539.5 
rgb.fx:1081.37 
rgb.fy:1081.37 

長い答え

まずカラー画像がKinectの中でどのように生成されるかを理解しています。

X、Y、Z:オンラインショップセンサを原点と考える座標空間内の所与の点の座標。 AKAのカメラスペース。カメラ空間は3Dです。

u、v:色空間内の対応するカラーピクセルの座標。色空間は2Dであることに注意してください。

FX、FY:焦点距離

CX、CY:主点(あなたが画像の中心とのKinect RGBカメラの主点を考慮することができる)

(R | t):外部カメラマトリックス。キネクトでは、これは(I | 0)と考えることができ、ここでIは単位行列です。

s:スケーラ値。

fx、fy、cx、cyの最も正確な値を取得するには、チェスボードを使用してkinectでrgbカメラを調整する必要があります。

上記のfx、fy、cx、cyの値は私のキネクトの校正値です。これらの値は、1つのキネクト毎に非常に小さいマージンで異なる。

詳細情報とimplementaion

All Kinect camera matrix

Distort

Registration

CPUは1920(データの多くを処理するのに十分な速さではないので、私はCUDAに登録プロセスを実装x 1080 x 30マトリックス計算)をリアルタイムで実行します。

+0

ありがとうございました。もう一つ質問があります。 [link](https://github.com/shanilfernando/VRInteraction/tree/master/calibration)には、_camera_param.yaml_、_depth_calibration.yaml_、_pose_calibration.yaml_、_rgb_calibration.yaml_の4つの校正ファイルが含まれています。現在、私はKinectから取得したRGB画像とともに[sensor_msgs/CameraInfo](http://docs.ros.org/api/sensor_msgs/html/msg/CameraInfo.html)を必要とするROSのARマーカーライブラリを使用していますARマーカーの3次元位置を計算する。 –

+0

'sensor_msgs/CameraInfo'では、歪みモデルは' plumb_bob'です。本質的なカメラ行列 'K'はあなたがすでに共有している' fx'、 'fy'、' cx'と 'cy'からなります。だから心配しないで!しかし、5つのパラメータからなる歪みパラメータ「D」のような他のパラメータを得る方法は、「k1」、「k2」、「t1」、「t2」、「k3」などである。 –

関連する問題