2012-11-08 3 views
2

현재 Kinect와 함께 작업 중이며 kinect의 VGA 이미지에 해골의 뼈대를 그려야합니다. 첫째, 키 넥트에서 사진을 찍어 :MFC 및 Kinect : Kinect의 이미지에 선을 그립니다.

HRESULT hr = globalNui->NuiImageStreamGetNextFrame(videoStreamHandle, 0, &frame); 
INuiFrameTexture * texture = frame.pFrameTexture; 
NUI_LOCKED_RECT lockedRect; 
texture->LockRect(0, &lockedRect, NULL, 0); 

여기서 우리는 NUI_LOCKED_RECT에, 그래서 우리는 그것으로 모든 작업을 수행 할 수 있습니다. 가장 일반적인 방법은 이미지를 비트 맵으로 변환하여 화면에 표시하는 것입니다. 그러나 이미지를 약간 수정하고 싶습니다. Direct2D를 사용하여 화면에 표시하므로 ID2D1Bitmap으로 변환 할 수있는 이미지 형식이 필요하며 선 및 점을 그릴 수 있어야합니다. 어떤 종류의 이미지가 필요한가요?

답변

0

그래서 나는 내가 원하는 것을 수행하는 이미지 형식이 없다는 것을 알게되었습니다. Direct2D의 모든 가능성을 발견했기 때문에 문제 없습니다. 이제 이미지를 실제로 변경하지는 않지만 사용자에게는 동일하게 보입니다.

1

잠긴 버퍼에는 크기가 width * height * 4 바이트 인 간단한 배열이 포함됩니다. 각 픽셀은 4 바이트 XRGB입니다 (여기의 문서 참조 : http://msdn.microsoft.com/en-us/library/jj131027.aspx). 이미지는 행 순서로 저장되므로 위치 x,y에있는 픽셀의 배열 인덱스는 ((width * y) + x) * 4)입니다.

이것은 Microsoft의 자체 WIC 나 IPL 또는 OpenCV 등의 다른 이미지 조작 라이브러리와 함께 자유롭게 사용할 수있는 표준 이미지 버퍼 형식입니다. 버퍼 전체를 반복하면서 RGB 값을 직접 설정하는 데 문제가 없어야합니다. 단순한 그래픽 작업을 위해서는 충분해야합니다.

관련 문제