OpenCV를 사용하여 실시간으로 이미지를 캡처하고 있으며 이러한 이미지를 OGRE 창에 배경으로 표시하려고합니다. 따라서 각 프레임마다 배경이 변경됩니다.loadRawData opencv 프레임로드 중 오우거의 메모리 문제
가 나는 괴물 창에 이미지를로드 loadRawData
과 함께 MemoryDataStream
을 사용하려고하지만 다음과 같은 오류가 무엇입니까 :
OGRE EXCEPTION(2:InvalidParametersException): Stream size does not match calculated image size in Image::loadRawData at ../../../../../OgreMain/src/OgreImage.cpp (line 283)
이미지는 640 × 480 및 frame->buffer
는 크기와 OpenCV의에서 온다 OpenCV 2.3에서 유형은 Mat
입니다. 또한 OpenCV에서 사용한 픽셀 형식은 CV_8UC3
입니다. 즉, 각 픽셀은 8 비트이고 각 픽셀에는 3 개의 채널 (B8G8R8)이 포함되어 있습니다.
Ogre::MemoryDataStream* videoStream = new Ogre::MemoryDataStream((void*)frame->buffer.data, 640*480*3, true);
Ogre::DataStreamPtr ptr(videoStream,Ogre::SPFM_DELETE);
ptr->seek(0);
Ogre::Image* image = new Ogre::Image();
image->loadRawData(ptr,640, 480,Ogre::PF_B8G8R8);
texture->unload();
texture->loadImage(*image)
왜 나는 항상이 메모리 오류가 발생합니까?
4 바이트 정렬을 시도했지만 변경 사항이 없습니다. 나는 항상 같은 기억 문제를 겪는다. – barzos