2016-10-18 8 views
1

this과 같은 Kinect에서 캡처 한 일반 RGB 이미지에 EMGUCV를 사용한 예를 보았지만 웹캠이있는 경우도 있습니다. 나는 나중에 삼각 측량을 위해 사용할 수있는 Point Cloud를 얻는 데 관심이 있습니다.Kinect와 EMGU를 사용하여 포인트 클라우드 검색?

'수동으로'DepthFrame을 포인트 클라우드 파일로 변환 해 보았습니다. 심도 틀에는 .ply 파일의 XYZ 점으로 변환 한 X, Y 및 심도 값이 있습니다. 결과는 왜곡되고 쓸모 없습니다.

이제 EMGUCV에 점 구름을 EMGUCV Mat 객체로 매핑하는 this method이 있다는 것을 알았습니다. EMGUCV 뒤에있는 사람이 제공 한 예제를 요구하는 사람들의 사례가 없기 때문에이 구문이 어떻게되어 있는지 모릅니다.

다음은 내가 시도한 것입니다. Kinect는 켜지지 않는 것 같고 성공은 항상 false를 반환합니다.

public void test() 
{ 
    KinectCapture kc = new KinectCapture(KinectCapture.DeviceType.Kinect, KinectCapture.ImageGeneratorOutputMode.Vga30Hz); 
    Mat m = new Mat(); 
    bool success = kc.RetrievePointCloudMap(m); 
} 

나는 또한이 KinectCapture 개체의 건설 중에 예외를 던지는 유지에 문제가 있었다, this 내 솔루션이었다.

답변

1

당신이 나를 좋아한다면, 당신은 메시로 바뀔 수있는 포인트 클라우드를 얻는 것에 관심이 있습니다. 당신은 모든 멋진 수학을 직접하는 것에 관심이 없습니다. 여러분이 코드 500 줄을 써야한다면, 다행히 Fusion이 이것을 해줍니다. Microsoft의 예제에는 여러 가지 오류 검사, 이벤트, 불리언 값 설정, 여러 가지 방식으로 렌더링되는 이미지, 여러 점 구름 등의 결합 등이있었습니다. 불필요한 코드가 많이 있습니다. 그들의 예는 3800 줄의 코드입니다. 나는 이것을 자르려고 시도했다. 아마도 이것을 더 줄일 수있을 것이다.

나는 거기에서, 그것은 완전히 (99 %) '도난'의 IT 꽤 길다하지만 the link is here

이 값으로 장난 시도하고 마이크로 소프트의 키 넥트 퓨전 샘플 프로젝트를 볼 수 있기 때문에 여기에 붙여 넣기 몇 가지 문제가 있었다 . 그러면 센서가 열리고 깊이 + 컬러 이미지가 찍히고 메쉬로 바뀝니다. 어떻게 구원 받는지는 당신에게 달려 있습니다. 나는 small.ply-outputter 클래스를 만들었는데, 이것 역시 예제에서도 제공했다.

1

Kinect SDK 기능을 확인 했습니까? Kinect SDK를 사용하면 많은 문제없이 적절한 포인트 클라우드를 작성할 수 있습니다.