2017-11-17 18 views
0

camera space으로 변환하는 변환 행렬을 찾고 있습니다.카메라 공간 변환 행렬의 색 공간

포인트 변환은 CoordinateMapper을 사용하여 수행 할 수 있지만 Kinect v2 공식 API는 사용하지 않습니다.

누군가가 색상 공간을 카메라 공간으로 변환 할 수있는 변환 매트릭스를 공유 할 수 있다면 정말 고맙습니다.

언제나처럼, 정말 고마워.

답변

1

중요 : 원본 kinect RGB 이미지에는 왜곡이 있습니다. 먼저 제거하십시오.

짧은 대답

은 "변환 행렬은"당신은 투영 행렬이라고 찾고있다.

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

긴 대답

먼저 컬러 이미지가 Kinect를 생성하는 방법을 이해합니다.

X, Y, Z : 넥트 센서를 원점으로 생각되는 좌표 공간 내의 점의 좌표. 일명 카메라 공간. 카메라 공간은 3D입니다.

u, v : 색 공간에서 해당 색상 픽셀의 좌표. 색 공간은 2D입니다.

FX, FY : 초점 거리

CX, CY : 주요 포인트

(R (당신은 이미지의 중심으로 KINECT RGB 카메라의 주요 점을 고려할 수) | t) : 외부 카메라 매트릭스. kinect에서 이것은 (I | 0)으로 생각할 수 있습니다. 여기에서 은 단위 행렬입니다.

s : 스케일러 값.

fx, fy, cx, cy의 가장 정확한 값을 얻으려면 체스 보드를 사용하여 kinect에서 rgb 카메라를 보정해야합니다.

위의 fx, fy, cx, cy 값은 내 kinect의 자체 보정입니다. 이 값들은 하나의 kinect에서 다른 것과 매우 다르다.CPU가 충분히 빠르게 데이터의 대부분을 처리 할 수 ​​없습니다 때문에 내가 CUDA에 등록 프로세스를 구현

All Kinect camera matrix

Distort

Registration

더 많은 정보와 implementaion (1920 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 가지 교정 파일이 있습니다. 현재 ROS에서 AR marker 라이브러리를 사용하고 있는데, [sensor_msgs/CameraInfo] (http://docs.ros.org/api/sensor_msgs/html/msg/CameraInfo.html)와 Kinect에서 얻은 RGB 이미지가 필요합니다. AR 마커의 3D 위치를 계산할 수 있습니다. –

+0

'sensor_msgs/CameraInfo'에서 왜곡 모델은'plumb_bob'입니다. Intrinsic 카메라 매트릭스'K'는 이미 공유 한'fx','fy','cx' 및'cy'로 구성됩니다. 그래서 걱정할 필요가 없습니다! 그러나 5 개의 파라미터로 구성된 왜곡 파라미터 'D'와 같은 다른 파라미터를 얻는 방법은 'k1','k2','t1','t2','k3' 등입니까? –