ビデオから取得したフレーム数をループに入れようとしています。そのフレームを順番に表示した後、opencv2.3を使用して減算したいと思います。
私の問題は、関数が呼び出されていない場所を知ることができないことです。
これが私のコードです:
名前空間cvを使用します。
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"); この時点でいくつかのエラーがあります。