OpenNI에 익숙하지 않고 순수한 컬러 이미지를 표시하는 간단한 ImageGenerator를 만들고 싶습니다. 예를 들어 흰색을 말하면 "SampleModule"을 수정했고 UpdateData() 메서드는 수정했습니다. 제가새로운 ImageGenerator를 만들 때 문제가 발생했습니다.
XnStatus SampleImage::UpdateData()
{
XnStatus nRetVal = XN_STATUS_OK;
XnUInt8* pPixel = m_pImageMap;
for (XnUInt y = 0; y < 300; ++y)
{
for (XnUInt x = 0; x < 400; ++x, ++pPixel)
{
*pPixel = (XnUInt8)255;
}
}
m_nFrameID++;
m_nTimestamp += 1000000/SUPPORTED_FPS;
// mark that data is old
m_bDataAvailable = FALSE;
return (XN_STATUS_OK);
}
코드 다음대로 255 때문에 updateData() 메소드를 사용하여 * pPixel 값을 할당 미세 컴파일 I는 nireg에 등록 할 수 있지만, I 데이터로부터 상기 이미지 픽셀 값을 판독 할 때 모듈에 의해 생성 된 몇 가지 이상한 값 (내가 예상했던대로 255 아닙니다), 다음 코드를 사용하여 픽셀 값을 읽습니다. 나는 "NiViewer"프로그램이 여전히 이미지 노드를 찾을 수 있다고하지만, "SampleModule"를 실행할 때
const XnUInt8* pImageMap = mImageGenerator.GetImageMap();
for (XnUInt y = 0; y < 300; ++y)
{
for (XnUInt x = 0; x < 400; ++x, ++pImageMap)
{
cout << (int)*pImageMap << endl;
}
}
도 깊이로 찾을 수 있습니다.
조언을 주시면 감사하겠습니다.
감사합니다 만, Haolin 웨이
NiViewer를 실행하고 1 또는 2 또는 3 또는 4를 누르면 ... 이미지가 보입니까? 안 그래? – blueskin
안녕하세요 blueskin, niviewer 시도했지만 장치를 찾을 수 없다고, 나는 그것이 구성 파일을 수도 있기 때문에 생각하지만 왜 "SampleModule"openni 함께 제공되는 niviewer에서 잘 실행 모르겠어요 등록 후. 어떤 제안? 고마워. –
이전 버전의 OpenNI를 사용하고있어 SampleModule이 무엇인지 잘 모릅니다. 장치 관리자를 열면 Xbox NUI 카메라 또는 그 선상에있는 내용이 보입니까? – blueskin