|
我想用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);
}
但是运行到该函数时出问题,执行不下去,请问各位高手这是什么问题,为什么这段代码不能运行,谢谢 |
|