Преобразование в одноканальное изображение в OpenCV

Я работаю с 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()) в неизвестной функции…»

Может кто-нибудь мне помочь?? могу ли я получить какие-либо лучшие предложения по преобразованию в одноканальное изображение?


person user1379267    schedule 07.05.2012    source источник


Ответы (2)


вы также можете загрузить его в оттенках серого:

IplImage* img=cvLoadImage(“abc.pbm”,CV_LOAD_IMAGE_GRAYSCALE);
person Bobbi Bennett    schedule 10.05.2012

Вам необходимо использовать cvCvtColor().

person fireant    schedule 07.05.2012