C++ 使用cv::split时出现的问题
我正在使用OpenCV 2.4.6,并试图生成一些直方图。最初的示例代码从本地存储中获取了一幅图像,但我将其修改为使用C++ 使用cv::split时出现的问题,c++,windows,opencv,visual-studio-2012,C++,Windows,Opencv,Visual Studio 2012,我正在使用OpenCV 2.4.6,并试图生成一些直方图。最初的示例代码从本地存储中获取了一幅图像,但我将其修改为使用VideoCapture对象。当代码到达cv::split()时,它会带来一个未处理的异常。它提示: “中0x5465B3D9(opencv_core246.dll)处未处理的异常” visionProject.exe:0xC0000005:访问冲突写入位置 0x1800E633。“ 我的代码是: VideoCapture camera;
VideoCapture
对象。当代码到达cv::split()
时,它会带来一个未处理的异常。它提示:
“中0x5465B3D9(opencv_core246.dll)处未处理的异常”
visionProject.exe:0xC0000005:访问冲突写入位置
0x1800E633。“
我的代码是:
VideoCapture camera;
camera.open(0);
camera >> src;
if( !src.data )
{ return -1; }
/// Separate the image in 3 places ( B, G and R )
vector <Mat> bgr_planes;
split(src, bgr_planes );
摄像机;
照相机。打开(0);
摄像机>>src;
如果(!src.data)
{return-1;}
///将图像分为三个位置(B、G和R)
矢量bgr_平面;
拆分(src、bgr_平面);
谢谢你的时间。多亏了一位朋友的帮助,我才得以工作。为了使
OpenCV
正常工作,我必须将构建设置为在visualstudio中发布。这样,它就可以正常工作。您的代码在我的带有OpenCV2.4.5的PC上运行良好。您的代码现在与您的问题不同。我不确定是编辑整个问题,还是创建一个新问题。不管怎样,它现在工作正常,但前提是我将项目设置为构建为发行版。还不能使用调试器。