0

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

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

它编译得很好,但它在运行时崩溃说“opencv error: assertion failed (src.channels()==dst.channels()) in unknown function ...”

谁能帮我吗??我能得到任何更好的建议来转换为单通道图像吗?

4

2 回答 2

4

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

IplImage* img=cvLoadImage(“abc.pbm”,CV_LOAD_IMAGE_GRAYSCALE);
于 2012-05-10T19:26:32.340 回答
2

你需要使用cvCvtColor().

于 2012-05-07T09:24:28.293 回答