我正在尝试将从视频中获取的帧数放在一个循环中。我想按顺序显示这些帧,然后我想使用 opencv 2.3 减去它。
我的问题是我无法知道函数在哪里被调用。
这是我的代码如下:
使用命名空间简历;
void loadImage(IplImage *image, int number)
{
// Store path to directory
char filename[100];
strcpy(filename, "S:\FINAL PROJECT ABSTRACT\images 1");
char *frame;
// Convert integer to char
char frameNo[10];
//sprintf(frame, "%0.3i", number);
// Combine to generate path
strcat(filename, frameNo);
strcat(filename, ".jpg");
// Use path to load image
image = cvLoadImage(filename);
}
int _tmain(int argc, _TCHAR* argv[]){
IplImage *im=0;
int nImages = 6;
for (int i = 0; i < nImages; ++i)
{
loadImage(im, i);
char filename[100];
strcpy(filename, "images 1");
char frameNo[10];
sprintf(frameNo, "%03i", i);
strcat(filename, frameNo);
strcat(filename, ".jpg");
IplImage *im = cvLoadImage(filename,CV_LOAD_IMAGE_COLOR);
cvNamedWindow("pic");
cvShowImage("pic",im);
cvWaitKey();
}
}
//}
我在调试它时在 build.bt 中没有收到任何错误:-frames.exe 循环中 0x77db15de 处的未处理异常:0xC0000005:访问冲突。
在 strcat(filename, frameNo); strcat(文件名,“.jpg”);这一点有一些错误..