camshift算法中的计算backprojection时竟然出现异常了!!
代码:
//Get the H component;
IplImage* target=cvLoadImage("target.jpg");
IplImage* target_hsv=cvCreateImage(cvGetSize(target),IPL_DEPTH_8U,3);
IplImage* target_hue=cvCreateImage(cvGetSize(target),IPL_DEPTH_8U,3);
cvCvtColor(target,target_hsv,CV_BGR2HSV);
cvSplit(target_hsv,target_hue,NULL,NULL,NULL);
执行最后一句cvSplit时出现异常,如下:
camshift-backproject.exe 中的 0x7537812f 处有未经处理的异常: Microsoft C++ 异常: 内存位置 0x0025f580 处的 cv::Exception。
怎么会出现异常呢?急死我了。。。。求解。谢谢~
[解决办法]
//改成这样吧
IplImage* target=cvLoadImage("target.jpg",1);
IplImage* target_hsv=cvCreateImage(cvGetSize(target),IPL_DEPTH_8U,3);
IplImage* target_hue=cvCreateImage(cvGetSize(target),IPL_DEPTH_8U,3);
cvCvtColor(target,target_hsv,CV_BGR2HSV);
cvSplit(target, target_hsv,target_hue,NULL,NULL);