2015-01-18 6 views
1

나는 콘크리트 및 kinect v2 앱에서 작업 중이며 현재는 색상 포인트를 깊이 지점에 매핑하는 데 어려움을 겪고 있습니다. 특정 색상의 특정 지점에 대한 색상 프레임을 검색하여 색상 프레임 점 x 및 y를 얻었습니다.Kinect 컬러 포인트 깊이/카메라 포인트

나는 이것으로부터 깊이를 얻고 싶습니다만, 물론 깊이 프레임은 다른 해상도와 시점이므로 색인을 생성 할 수 없습니다.

색상 포인트 대 심도 또는 카메라 포인트의 매퍼를 찾을 수 없습니다. 직접 측정하는 것 이외의 다른 작업을 수행하는 간단한 방법이 있습니까?

내 문제는이 하나와 유사합니다 : How to get real world coordinates (x, y, z) from a distinct object using a Kinect,하지만 실제 실제 좌표가 필요하지 않습니다. 그러나 거기에 대한 대답은 내가 필요한 것을 완전히 설명하지 못합니다.

답변

2

CoordinateMapperClass을 사용해야합니다. 귀하의 경우를 들어 :
사용 기능

public void MapColorFrameToDepthSpace (
     Array<UInt16>[] depthFrameData, 
     out Array<DepthSpacePoint>[] depthSpacePoints 
) 
1

당신은 키 넥트 센서의 CoordinateMapper를 사용해야합니다. 매핑은 MapColorFrameToDepthFrame 또는 공백과 관련이 있습니다. 이 기능은 kinect v2 SDK에서 사용할 수 있습니다.

이 단계 후

, 당신은 3 정보 (Xview, Yview, Zworld가) Yworld 및 Xworld 당신이이 공식을

Yworld = Zworld * Yview/focal_length 
Xworld = Zworld * Xview/focal_length 

을 찾을 수 있습니다 그리고 지금 당신이 어떤 이미지 점의 세계 좌표를 알 수있을 것이다

당신 쉽게 두 지점 사이의 거리를 측정 할 수 있습니다.

Distance_of_p1_p2(mm) = Sqrt (Square(p2.Xworld - p1.Xworld) + Square(p2.Yworld - p1.Yworld) + Square(p2.Zworld - p1.Zworld))