Apro quì perché mi sembra la sezione più adatta.
Sto scrivendo un programma che apre un video e vi applica la funzione accumulateWeighted per ricavare un background.
Il codice che usce è questo:
#include <stdio.h> #include <opencv/cv.h> #include "opencv2/highgui/highgui.hpp" using namespace cv; int main( int argc, char** argv ) { VideoCapture cap; argv[1]="768x576.avi"; if(!cap.open(argv[1])) { printf("Failed to open %s\n", argv[1]); return -1; } for(;;) { Mat curFrame; cap >> curFrame; Mat dst; accumulateWeighted(curFrame,dst,0.1); imshow("Video output\n", curFrame); imshow("Process output\n", dst); if(waitKey(30) >= 0) break; } return 0; }
Il problema si presenta durante l'esecuzione al momento di eseguire accumulateWeighted: questo errore viene visualizzato sul terminale: Error: Assertion failed (dst.size == src.size && dst.channels() == cn) in accumulateWeighted.
Credo che il problema sia nella dichiarazione di dst, ma non riesco a capire come farlo funzionare. Idee?
Edit: avevo dimenticato di dirlo, Os: ubuntu, IDE: QtCreator
Modificata da DavideGTB, 21 May 2014 - 08:11 PM.