在OpenCV中转换为单通道图像

时间:2012-05-07 08:41:01

标签: visual-studio-2008 image-processing opencv runtime-error

我正在使用openCV,我试图将图像转换为单通道图像。 我加载图像: IplImage* img=cvLoadImage(“abc.pbm”); 我不确定我应该如何转换为单通道所以我使用:

IplImage* temp = cvCreateImage(cvGetSize(img), img->depth, 1); cvSetImageCOI(img, 1); cvCopy(img, temp);

它编译得很好,但它在运行时崩溃说" opencv错误:断言失败(src.channels()== dst.channels())在未知函数中......"

谁能帮助我? 我可以获得更好的建议转换为单通道图像吗?

2 个答案:

答案 0 :(得分:4)

您也可以将其加载为灰度:

IplImage* img=cvLoadImage(“abc.pbm”,CV_LOAD_IMAGE_GRAYSCALE);

答案 1 :(得分:2)

您需要使用cvCvtColor()