opencv - Ошибка утверждения (dst.data == dst0.data) в cvCvtColor

Следующий код отправит сообщение об ошибке:

// object is a color image with type cv::Mat

IplImage* temp_object = &(IplImage)object;
IplImage* ipl_object = cvCreateImage(cvGetSize(temp_object), 8, 3);
assert(temp_object->nChannels ==  3 && temp_object->depth == IPL_DEPTH_8U);
assert(ipl_object->nChannels ==  3 && ipl_object->depth == IPL_DEPTH_8U);
cvCvtColor(ipl_object, temp_object, CV_BGR2GRAY);

Ошибка

Ошибка OpenCV: утверждение не выполнено (dst.data == dst0.data) в cvCvtColor, file / opt / local /var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_graphics_opencv/opencv/work/OpenCV-2.3.1/modules/imgproc/src/color.cpp, строка 3175 terminate вызвал выброс исключения`

Обновленный код после модификации (теперь он должен работать). Спасибо за помощь!

IplImage temp_object (object);
IplImage* ipl_object = cvCreateImage(cvGetSize(&temp_object), 8, 1);
cvCvtColor(&temp_object, ipl_object, CV_BGR2GRAY);
7
задан LKS 9 February 2012 в 14:11
поделиться