首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

opencv Exception解决思路

2013-08-14 
opencv Exception用opencv读取视频文件,视频文件的分辨率较小的时候,文件可以正常读取,没有错误。当视频文

opencv Exception
用opencv读取视频文件,视频文件的分辨率较小的时候,文件可以正常读取,没有错误。当视频文件中图像的分辨率比较大的时候,会报错:..\..\..\src\opencv\modules\core\alloc.cpp:52:error:<-4>Failed to allocate 24883220 bytes
请问这个是什么原因。

void Shadowdetect(CvMat* segMat,CvMat* BackgroundMat,CvMat* pFrameMat){
try
{
    BackHSV=cvCreateMat(pFrameMat->height, pFrameMat->width, CV_32FC3);
    pFrameHSV=cvCreateMat(pFrameMat->height, pFrameMat->width, CV_32FC3);
    TempConvert=cvCreateMat(pFrameMat->height, pFrameMat->width, CV_32FC3);
                    ......
                    ... ...
                }
               catch (cv::Exception& e)
{
const char* err_msg = e.what();
printf ("%s\n", err_msg);
}

我用断点调试了一下,在执行到try里的第3句时,提示报错:也就是cv::Exception.请问opencv的cvCreateMat跟图像的分辨率有直接关系么。pFrameMat->height = 1080,pFrameMat->Weight=1920. OpenCV 异常 视频 调试
[解决办法]
分配内存失败, 
分辨率越大, 内存占用越大

热点排行