2010-10-13 3 views
1

Je suis un étudiant de premier cycle en mathématiques et j'ai peu d'expérience en programmation. Je suis intéressé par la vision par ordinateur cependant. Je ai essayé de suivre le livre Learning OpenCV mais c'est un peu dépassé. Comment puis-je enregistrer le fichier vidéo résultant dans mon répertoire personnel Linux? par exemple "/ home/user/..", merci d'avance, ceci est mon premier post et je sais que je ne serai pas déçu. Je compile sur eclipse btw, et je ne connais pas trop le réglage des arguments.Problème avec le répertoire de sortie pour VideoWriters OpenCV

#include <stdlib.h> 
#include <stdio.h> 
#include <math.h> 
#include <cv.h> 
#include <highgui.h> 


int main(int argc, char *argv[]) { 

int isColor = 1; 
int frameW = 640; 
int frameH = 480; 
int fps  = 25; 

CvCapture* capture = cvCaptureFromCAM(0); 
assert(capture != NULL); 

cvNamedWindow("Webcam", CV_WINDOW_AUTOSIZE); 

CvVideoWriter *writer = cvCreateVideoWriter(
    "out.avi", 
    CV_FOURCC('M','J','P','G'), 
    fps, 
    cvSize(frameW,frameH), 
    isColor 
); 

IplImage* frame = cvQueryFrame(capture); 

while((frame = cvQueryFrame(capture)) != NULL) { 
    cvWriteFrame(writer, frame); 
    cvShowImage("Webcam", frame); 
    char c = cvWaitKey(33); 
    if (c == 27) break; 
} 

cvReleaseVideoWriter(&writer); 
cvReleaseCapture(&capture); 
return(0); 

} 

Répondre

0

Avez-vous essayé de transmettre le chemin complet à cvCreateVideoWriter?

CvVideoWriter *writer = cvCreateVideoWriter(
    "/home/user/out.avi", 
    CV_FOURCC('M','J','P','G'), 
    fps, 
    cvSize(frameW,frameH), 
    isColor 
); 
+0

Hey, merci de répondre. J'ai réinstallé OpenCV avec ffmpeg installé correctement. mais maintenant je reçois cette erreur. une idée? ============================================================ =================== erreur de relocalisation: /usr/local/lib/libhighgui.so.2.1: symbole sws_getContext, version LIBAVCODEC_52 non définie dans le fichier libavcodec.so.52 avec lien temps référence – Edwin

+0

Je ne suis pas totalement sûr, cela peut sembler un problème avec la façon dont ffmpeg a été compilé. Est-ce que vous construisez vous-même ou que vous l'installez comme un paquet? Je ne suis pas très familier avec cela, mais de googler autour de [ici] (http://www.rainsoft.de/projects/ffmpeg_opencv.html) il semble que vous pourriez avoir besoin de construire ffmpeg avec le '--enable- option shared'. – WildCrustacean

Questions connexes