OpenCV VideoWriters的输出目录有问题
Posted
技术标签:
【中文标题】OpenCV VideoWriters的输出目录有问题【英文标题】:trouble with output directory for OpenCV VideoWriters 【发布时间】:2010-10-13 14:49:05 【问题描述】:我是一名数学本科生,几乎没有编程经验。不过,我对计算机视觉很感兴趣。试图遵循 Learning OpenCV 的书,但它有点过时了。如何将生成的视频文件保存在我的 linux 主目录中?例如“/home/user/..”,在此先感谢,这是我的第一篇文章,我知道我不会失望的。我在 eclipse btw 上编译,我对参数设置不太熟悉。
#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);
【问题讨论】:
【参考方案1】:您是否尝试过将完整路径传递给cvCreateVideoWriter
?
CvVideoWriter *writer = cvCreateVideoWriter(
"/home/user/out.avi",
CV_FOURCC('M','J','P','G'),
fps,
cvSize(frameW,frameH),
isColor
);
【讨论】:
您好,感谢您的回复。我已经正确安装了 ffmpeg 并重新安装了 OpenCV。但现在我得到了这个错误。任何的想法? ==================================================== ================= 重定位错误:/usr/local/lib/libhighgui.so.2.1:符号 sws_getContext,版本 LIBAVCODEC_52 未在文件 libavcodec.so.52 中定义链接时间参考 我不太确定,这听起来像是 ffmpeg 编译方式的问题。您是自己构建它还是将其安装为一个包?我对这样做不是很熟悉,但是从谷歌搜索 here 看起来您可能需要使用--enable-shared
选项构建 ffmpeg。以上是关于OpenCV VideoWriters的输出目录有问题的主要内容,如果未能解决你的问题,请参考以下文章