C++ CVTColor在从RGB转换为灰色时崩溃

C++ CVTColor在从RGB转换为灰色时崩溃,c++,opencv,image-processing,raspberry-pi,C++,Opencv,Image Processing,Raspberry Pi,示例代码: IplImage* gray = cvCreateImage (cvSize(currentImage->width, currentImage->height), IPL_DEPTH_8U, 1); cvCvtColor (currentImage, gray, CV_RGB2GRAY); 它在CVTColor函数上崩溃。我尝试了cvCreateImage的通道as 3,运气不好。高度和宽度分别为640和480,深度为8,sizeof(IplImage)为112,图像

示例代码:

IplImage* gray = cvCreateImage (cvSize(currentImage->width, currentImage->height), IPL_DEPTH_8U, 1);
cvCvtColor (currentImage, gray, CV_RGB2GRAY);
它在CVTColor函数上崩溃。我尝试了cvCreateImage的通道as 3,运气不好。高度和宽度分别为640和480,深度为8,sizeof(IplImage)为112,图像数据大小以字节921600为单位


OpenCV版本2.3.1在raspberry pi中运行。

即使我使用
cvCvtColor(currentImage,currentImage,CV_RGB2GRAY),它也会崩溃
首先去掉贬值的C API,并向我们显示错误消息。另外,请确保“currentImage”是一个3通道mat。这会导致以下错误:
在../sysdeps/unix/syscall template.S:81#1 0x76d1f528 in.处的轮询()中捕获SIGSEGV 0 0x76c0ab80??()来自/lib/arm-linux-gnueabihf/libglib-2.0.so.0
尝试使用C语言编写的自定义gstreamer插件,因此尝试opencv的C API。我想我已经发现了问题,似乎这与图像大小有关,它会因图像大小过大而崩溃。尝试不同的事情。谢谢