2012-03-31 4 views
0

Ich versuche, einen zufälligen Zugriff auf einen AVI-Film zu tun. Ich muss Frames überspringen und auf genaue Positionen im Film hin und her bewegen. Wenn ich das mache, bekomme ich einen bösen, nervösen Film, der die Bilder hin und her bewegt. Ist es möglich, OpenCV als Frame-Server zu verwenden?OpenCV als frameserver

cvSetCaptureProperty(capture, CV_CAP_PROP_POS_FRAMES, frameNumber); 
image= cvQueryFrame(capture); 
+0

möglich Duplikat von [OpenCV Seek Function/Rewind] (http://stackoverflow.com/questions/2974625/opencv-seek-function-rewind) – karlphillip

+0

Ich verwende die gleiche Technik dafür, aber das Problem ist, dass es ist nicht Frame-spezifisch, so dass es zittert. – ochensati

Antwort

0

Wenn ich verstehe Ihre Frage, und wenn Sie Frames speichern mögen, können Sie vector <IplImage*> frames dann wieder jeden Frame des Videos zu den vector schieben verwenden. Dann, wann immer Sie möchten, können Sie auf Ihre Bilder zugreifen, ohne cvQueryFrame() und Sie können Bilder wie ein Film mit cvShowImage() anzeigen.

+0

Wenn ich verstanden habe, was du meinst ... –

+0

hmm, das würde funktionieren, aber die Filme sind ziemlich groß, also denke ich, dass mir der Speicher ausgehen würde, bevor ich so viele Bilder speichern könnte. – ochensati