Python上的OpenCV错误

2 投票
1 回答
4339 浏览
提问于 2025-04-16 22:45

无论我使用什么"CV_FOURCC",我总是得到这个错误:

OpenCV 错误:不支持的格式或格式组合(Gstreamer OpenCV 后端实际上不支持这个编码器。)在 CvVideoWriter_GStreamer::open,文件 /usr/src/packages/BUILD/OpenCV-2.2.0/modules/highgui/src/cap_gstreamer.cpp,第 489 行

writer = cv.CreateVideoWriter(
         filename=file,
         fourcc=cv.CV_FOURCC('F', 'M', 'P', '4') ,
         fps=iFps,
         frame_size=(800,600),
         is_color=1)
cv.WriteFrame(writer, cv.LoadImage(frames[i]))

而且 /usr/src/packages/BUILD/OpenCV-2.2.0/modules/highgui/src/cap_gstreamer.cpp 这个文件并不存在。

另外,CV_FOURCC('H','F','Y','U') 会生成一个空文件。

输入是*.png,输出是*.avi

详细信息:Opensuse 10.4,OpenCv 2.2.0

编辑:如果我这样做,就能创建一个有效的 AVI 文件:

writer = cv.CreateVideoWriter(
         filename=file,
         fourcc=cv.CV_FOURCC('F', 'M', 'P', '4') ,
         fps=iFps,
         frame_size=(800,600),
         is_color=1)
cv.WriteFrame(writer, cv.LoadImage(frames[i]))
del writer # this makes a working AVI

1 个回答

1

如果我这样做,就能创建一个可用的AVI文件:

writer = cv.CreateVideoWriter(
         filename=file,
         fourcc=cv.CV_FOURCC('F', 'M', 'P', '4') ,
         fps=iFps,
         frame_size=(800,600),
         is_color=1)
cv.WriteFrame(writer, cv.LoadImage(frames[i]))
del writer # this makes a working AVI

撰写回答