hey j'ai essayé de faire la soustraction entre trame courante précédente, (le code ci-joint) le code en cours d'exécution mais je reçois des erreurs et fenêtre grise sans résultat les erreurs i got sur l'invite de commande:cadres de soustraction OpenCV
compilateur n'a pas aligner les variables de la pile. Libavcodec a été mal codé et peut être très lent ou accidenté. Ce n'est pas un bogue dans libavcodec, mais dans le compilateur. Vous pouvez essayer de recompiler en utilisant gcc> = 4.2. Ne signalez pas les plantages aux développeurs FFmpeg. Erreur OpenCV: Échec de l'assertion (src1.size() == dst.size() & & src1.type() == type.dst()) dans une fonction inconnue, fichier ........ \ ocv \ opencv \ src \ cxcore \ cxarithm.cpp, ligne 1563.
quelqu'un a une idée? s'il vous plaît votre aide !! merci
int main()
{
int key = 0;
CvCapture* capture = cvCaptureFromAVI("macroblock.mpg");
IplImage* frame = cvQueryFrame(capture);
IplImage* currframe = cvCreateImage(cvGetSize(frame),IPL_DEPTH_8U,1);
IplImage* destframe = cvCreateImage(cvGetSize(frame),IPL_DEPTH_8U,1);
if (!capture)
{
fprintf(stderr, "Cannot open AVI!\n");
return 1;
}
int fps = (int)cvGetCaptureProperty(capture, CV_CAP_PROP_FPS);
cvNamedWindow("dest", CV_WINDOW_AUTOSIZE);
while(key != 'x')
{
frame = cvQueryFrame(capture);
currframe = cvCloneImage(frame);// copy frame to current
frame = cvQueryFrame(capture);// grab frame
cvSub(frame,currframe,destframe);// subtraction between the last frame to cur
if(key==27)break;
cvShowImage("dest",destframe);
key = cvWaitKey(1000/fps);
}
cvDestroyWindow("dest");
cvReleaseCapture(&capture);
return 0;
}
merci beaucoup !!! –