2011-04-25 2 views
3

OpenCV (Python으로)를 사용하여 기본 비디오 파일을 만들려고합니다. 오류없이 실행되는 다음 코드가 있지만 출력 파일이 만들어지지 않습니다. 내가 잘못 생각한 사람이 있는지 궁금해하고있었습니다.OpenCV를 사용하여 기본 비디오 파일을 만들 수 없습니다.

from cv import * 
im1 = LoadImage("/home/spoll/laptop1.jpg") 
im2 = LoadImage("/home/spoll/laptop2.jpg") 

writer = CreateVideoWriter("/home/spoll/out", CV_FOURCC('F', 'L', 'V', '1'), 2, (im1.width, im1.height)) 
if writer is None: 
    print "Error in creating video writer" 
else: 
    print WriteFrame(writer, im1) 
    print WriteFrame(writer, im2) 

감사!

답변

3

왜 오류를 확인하지 않습니까? CreateVideoWriter()이 실패하면 결코 알 수 없습니다.

나는 CreateVideoWriterNULL을 반환한다고 생각합니다. 적절한 코드를 추가하여 반환을 확인하고 이것이 사실인지 확인하십시오.

그럴 경우 문제는 대부분 CV_FOURCC()이며 코덱을 찾을 수 없습니다.

그런 다음, 다른 코덱이 답변을 확인합니다 Creating AVI files in OpenCV

나는 또한 사용 가능한 가장 최근 (나는 그것의 버전 2.2 생각)에 OpenCV의를 업데이트하는 것이 좋습니다.

편집 :

또한 CreateVideoWriter의 마지막 매개 변수 누락되었습니다 :

#!/usr/bin/env python 
import sys 

from opencv.cv import * 
from opencv.highgui import * 

im1 = cvLoadImage("img1.jpg") 
if not im1: 
    print "Could not load im1" 

im2 = cvLoadImage("img2.jpg") 
if not im2: 
    print "Could not load im2" 

fps = 4.0 
frame_size = cvGetSize(im1) 
#writer = cvCreateVideoWriter("out.avi", CV_FOURCC('M', 'J', 'P', 'G'), fps, frame_size, True) 
writer = cvCreateVideoWriter("out.avi", CV_FOURCC('F', 'L', 'V', '1'), fps, frame_size, True) 
if not writer: 
    print "Error in creating video writer" 
    sys.exit(1) 
else: 
    print cvWriteFrame(writer, im1) 
    print cvWriteFrame(writer, im2) 

cvReleaseVideoWriter(writer) 

내가 cvCreateVideoWriter에 대한 OpenCV의/리눅스/파이썬에 문제가 있다고 생각(). 나는 devs와 이야기하려고 할 것이고, 내가 대답을 얻을 때 여기에서 갱신 할 것이다.

+0

감사와 cvReleaseVideoWriter(writer)를 교체해야 :)이 파이썬 바인딩을 통해 작동하기 때문에 나는이 바보 같은 질문 경우 죄송 파이썬에 새로운 해요,하지만, CreateVideoWriter를 만들 때 None을 계속 확인합니까? 나는 그것이 null이 아닌 객체를 반환하고 있다고 생각합니다. 내가 언급 한 링크에 언급 된 모든 다른 코덱을 시도했는데 OpenCV 2.2를 실행하고 있습니다. 문제는 여전히 지속됩니다. ■ 시도할만한 것이 있습니까? 다시 한 번 감사드립니다 – iman453

+0

"writer is None : print"오류 체크를 추가했습니다. 네,이 디렉토리에 파일을 만들 권한이 있습니다. 도와 주셔서 감사합니다. 시간을내어 주셔서 감사합니다. – iman453

+0

오 죄송합니다. im1.width 및 height로 실행하고 있습니다. 실수로 버전을 붙여 넣었습니다. 미안합니다. – iman453

관련 문제