代码很简单,如下:
#include"stdafx.h"
#include <stdio.h>
#include <cv.h>
#include <highgui.h>int main()
{
int i = 0;
IplImage* img = 0;
char image_name[25];
CvVideoWriter *writer = 0;
int isColor = 1;
int fps = 30; // or 25 writer=cvCreateVideoWriter("..\\out.avi",CV_FOURCC('X','V','I','D'),fps,cvSize(640,480),isColor);
cvNamedWindow("vivi");
while(1)
{
sprintf(image_name, "%s%d%s", "image", ++i, ".jpg");
img = cvLoadImage(image_name, -1);
if(img == NULL)
break;
cvShowImage("vivi", img);
char key = cvWaitKey(20);
cvWriteFrame(writer, img);
}
cvReleaseVideoWriter(&writer);
cvDestroyWindow("vivi"); return 0;
}
感觉很简单,但是看了好久也没看出来。。
=====================
然后把它改成了下面这个样纸,发现,第一次可以运行。紧接着在执行一次就又发生了冲突。
很是纠结,一直对内存冲突没辙。
#include"stdafx.h"
#include <stdio.h>
#include <cv.h>
#include <highgui.h>int main()
{
int i = 0;
IplImage* img = 0;
char image_name[25]; CvVideoWriter *writer = 0;
int isColor = 1;
int fps = 30; // or 25 sprintf(image_name, "%s%d%s", "image", ++i, ".jpg");
img = cvLoadImage(image_name, -1); //创建窗口
int frameW = img->width;
int frameH = img->height;
writer=cvCreateVideoWriter("..\\out.avi",CV_FOURCC('X','V','I','D'),fps,cvSize(frameW,frameH),isColor); cvNamedWindow("vivi");
while( img!=NULL)
{
cvShowImage("vivi", img);
char key = cvWaitKey(20);
cvWriteFrame(writer, img);
sprintf(image_name, "%s%d%s", "image", ++i, ".jpg");
img = cvLoadImage(image_name, -1);
}
cvReleaseVideoWriter(&writer);
cvDestroyWindow("vivi"); return 0;
} 请大家多多指教。
#include"stdafx.h"
#include <stdio.h>
#include <cv.h>
#include <highgui.h>int main()
{
int i = 0;
IplImage* img = 0;
char image_name[25];
CvVideoWriter *writer = 0;
int isColor = 1;
int fps = 30; // or 25 writer=cvCreateVideoWriter("..\\out.avi",CV_FOURCC('X','V','I','D'),fps,cvSize(640,480),isColor);
cvNamedWindow("vivi");
while(1)
{
sprintf(image_name, "%s%d%s", "image", ++i, ".jpg");
img = cvLoadImage(image_name, -1);
if(img == NULL)
break;
cvShowImage("vivi", img);
char key = cvWaitKey(20);
cvWriteFrame(writer, img);
}
cvReleaseVideoWriter(&writer);
cvDestroyWindow("vivi"); return 0;
}
感觉很简单,但是看了好久也没看出来。。
=====================
然后把它改成了下面这个样纸,发现,第一次可以运行。紧接着在执行一次就又发生了冲突。
很是纠结,一直对内存冲突没辙。
#include"stdafx.h"
#include <stdio.h>
#include <cv.h>
#include <highgui.h>int main()
{
int i = 0;
IplImage* img = 0;
char image_name[25]; CvVideoWriter *writer = 0;
int isColor = 1;
int fps = 30; // or 25 sprintf(image_name, "%s%d%s", "image", ++i, ".jpg");
img = cvLoadImage(image_name, -1); //创建窗口
int frameW = img->width;
int frameH = img->height;
writer=cvCreateVideoWriter("..\\out.avi",CV_FOURCC('X','V','I','D'),fps,cvSize(frameW,frameH),isColor); cvNamedWindow("vivi");
while( img!=NULL)
{
cvShowImage("vivi", img);
char key = cvWaitKey(20);
cvWriteFrame(writer, img);
sprintf(image_name, "%s%d%s", "image", ++i, ".jpg");
img = cvLoadImage(image_name, -1);
}
cvReleaseVideoWriter(&writer);
cvDestroyWindow("vivi"); return 0;
} 请大家多多指教。
解决方案 »
- 使用VC编写的一个COM 组件,有一个函数要返回一个ADODB.RecordSet的实例,该怎么做啊?
- 求取图像处理基础算法考题,看看你的智慧,考考那些研究生,呵呵!来者有分!
- 如何运用sendMessage来放松点击的建到界面??
- (高手请进)如何用directshow实现视频捕获、视频压缩(mpeg4)、视频网络传输以及回放?
- 请教高手:奇怪的出错问题,在线等...........
- 快来拿分呀!
- 如何制作动态连接库?DLL?
- 求助高手 到底是怎么回事 帮忙!!!急~~
- 如何得到网卡的物理地址(mac 地址)?????????????
- WinInet的问题
- CListCtrl每次双击一张子图,内存出现泄漏
- 最小二乘法三次多项式曲线拟合 算法 C++ 实现
我也觉得没什么问题撒。哎内存冲突神马的真实烦死人。opencv 还真没怎么用过 C++的 ··· 嘿嘿