|
大家好,我现在想做一个视频运动目标跟踪的程序,我想用VC+OPENCV实现,首先从文件中载入一段AVI视频,然后利用OPENCV的cvcamplayavi()函数进行播放,然后利用该函数所用的回调函数来分析每个视频帧。我现在试着先在回调函数里对视频帧进行canny边缘检测,可就是不行,编译时没问题,就是执行时总是说该程序遇到问题,需要关闭,不知道是何原因,请高手指教
下面是回调函数的代码
void COPENCVView:: callback(IplImage* img){
IplImage *pimage=NULL;
IplImage *pimagecanny=NULL;
IplImage *pimage8u=NULL;
IplImage *pimage8usmooth=NULL;
pimage=cvCloneImage(img);
pimage8u=cvCreateImage(cvGetSize(pimage),IPL_DEPTH_8U,1);
pimagecanny=cvCreateImage(cvGetSize(pimage),IPL_DEPTH_8U,1);
pimage8usmooth=cvCreateImage(cvGetSize(pimage),IPL_DEPTH_8U,1);
cvCvtColor(pimage,pimage8u,CV_BGR2GRAY);
cvSmooth(pimage8u,pimage8usmooth,CV_GAUSSIAN,3,0,0);
cvCanny(pimage8usmooth,pimagecanny,100,200,3);
cvConvertScaleAbs(pimagecanny,pimage8u,1,0);
cvvNamedWindow("Cannyimage",1);
cvvShowImage("Cannyimage",pimage8u);
}
但是运行到该函数时出问题,执行不下去,请问各位高手这是什么问题,为什么这段代码不能运行,谢谢
另外我想问一下我用这个做视频检测行吗? |
|