我想将输出视频保存到文件中而不是显示它并尝试使用 cvcaptureimage 但仍然无法获得结果
#include <highgui.h>
int main(int argc, char *argv[])
{
// Create a "Capture" object from 1st command line argument
CvCapture *video = cvCaptureFromFile(argv[1]);
// this is the structure that will store the frames
IplImage *frame = NULL;
// create a window to display the video
cvNamedWindow("Video", CV_WINDOW_AUTOSIZE);
// get the next frame
while (frame = cvQueryFrame(video) )
{
// display it in the window we created
cvShowImage("Video", frame);
// wait 1000/fps milliseconds
cvWaitKey((int)(1000/cvGetCaptureProperty(video, CV_CAP_PROP_FPS)));
//reading into .avi file
CvCapture*capture=0
capture=cvcreateFileCapture(arg[1]);
if(!capture)
{
// intiate the video read
IpLImage *bgr_frame=cvQueryFrame(capture);
double fps=cvGetCaptureProperty(capture,CV_CAP_PROP_FPS);
}
}
}
我可以知道我在代码中重复的错误吗?
我知道这已经很老了,但我不能同意关于 OSX 的说法。
您可以在 OSX 上轻松构建和编译 FFMPEG。无需使用 QTKIT/Quicktime。实际上我在 OSX 上编写视频没有任何问题。
另一个建议是使用新的 OpenCV 2.0+ 结构,而不是使用那些已弃用的结构。 (使用垫子代替IplImage
/cvMat
,使用VideoWriter和VideoCapture。)
Mat image;
VideoCapture capture;
VideoWriter out;
capture = VideoCapture(-1);
image << capture;
out.write(image);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)