gpt4 book ai didi

c++ - cvSplit 中的 OpenCV 错误 : Assertion failed (i < src. channel ())

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

我正在运行一个使用 openCV for C++ 的基本应用程序。我正在尝试使用 cvSplit() 将图像拆分为 rgb 分量,如下所示:

CvMat* mat;

//initialize mat

CvMat* b = cvCreateMat(mat->rows, mat->cols, CV_8UC1);
CvMat* g = cvCreateMat(mat->rows, mat->cols, CV_8UC1);
CvMat* r = cvCreateMat(mat->rows, mat->cols, CV_8UC1);
cvSplit(mat, b, g, r, NULL );

它构建得很好,但是当我尝试运行它时,出现以下错误:

OpenCV Error: Assertion failed (i < src.channels()) in cvSplit, file /home/username/Downloads/OpenCV-2.4.0/modules/core/src/convert.cpp, line 1196
terminate called after throwing an instance of 'cv::Exception'

这个错误是什么意思,我该如何解决这个问题?

最佳答案

您用来创建垫子的 IplImage 应该是彩色的。您需要三个 channel 才能使用 cvSplit。您可以在调试器中使用 IplImage->nChannels 进行检查。

关于c++ - cvSplit 中的 OpenCV 错误 : Assertion failed (i < src. channel ()),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12197128/

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