gpt4 book ai didi

c++ - 加载opencv帧时食人魔中的loadRawData内存问题

转载 作者:太空宇宙 更新时间:2023-11-03 22:35:04 24 4
gpt4 key购买 nike

我正在使用 OpenCV 实时捕捉图像,我想在 OGRE 窗口中显示这些图像作为背景。因此,对于每一帧,背景都会发生变化。

我正在尝试使用 MemoryDataStreamloadRawData 将图像加载到 OGRE 窗口中,但出现以下错误:

OGRE EXCEPTION(2:InvalidParametersException): Stream size does not match calculated image size in Image::loadRawData at ../../../../../OgreMain/src/OgreImage.cpp (line 283)

一张图片来自OpenCV,大小为640x480,frame->buffer是OpenCV 2.3中的一种Mat。另外,我在 OpenCV 中使用的像素格式是 CV_8UC3(即,每个像素为 8 位,每个像素包含 3 个 channel ( 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 字节对齐问题?

参见 Link 1Link 2

关于c++ - 加载opencv帧时食人魔中的loadRawData内存问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8490596/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com