用opencv将连续图片录制为视频 发生访问冲突 的有关问题
用opencv将连续图片录制为视频 发生访问冲突 的问题
代码很简单,如下:
感觉很简单,但是看了好久也没看出来。。。。。
=====================
然后把它改成了下面这个样纸,发现,第一次可以运行。紧接着在执行一次就又发生了冲突。。。。
很是纠结,一直对内存冲突没辙。。。。
请大家多多指教。。。。
------解决方案--------------------
加断点调试一下吧 看看writer=cvCreateVideoWriter("..\\out.avi",...)是否创建成功
------解决方案--------------------
看着没有问题呀,试试用OpenCV的c++接口函数
------解决方案--------------------
难道这是opencv2.1的bug么?
网上说 2.2 版本的就可以了。。。。。
代码很简单,如下:
#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;
}
请大家多多指教。。。。
------解决方案--------------------
加断点调试一下吧 看看writer=cvCreateVideoWriter("..\\out.avi",...)是否创建成功
------解决方案--------------------
看着没有问题呀,试试用OpenCV的c++接口函数
------解决方案--------------------
难道这是opencv2.1的bug么?
网上说 2.2 版本的就可以了。。。。。