0
我希望將視頻分割成圖像幀,然後將它們保存到文件中。 編譯代碼時出現以下錯誤apear: 未定義的引用itoa和strcat。 有什麼幫助嗎?使用OpenCV(第一個版本)將圖像分割成一幀圖像C
感謝
的代碼如下:
#include <stdio.h>
#include <stdlib.h>
#include "cv.h"
#include <highgui.h>
#include "cxcore.h"
int main(int argc, char** argv)
{
CvCapture *capture = cvCaptureFromAVI("xyz.avi");
if(!capture)
{
printf("!!! cvCaptureFromAVI failed (file not found?)\n");
return -1;
}
int fps = (int) cvGetCaptureProperty(capture, CV_CAP_PROP_FPS);
printf("* FPS: %d\n", fps);
IplImage* frame = NULL;
int frame_number = 0;
char key = 0;
while (key != 'q')
{
// get frame
frame = cvQueryFrame(capture);
if (!frame)
{
printf("!!! cvQueryFrame failed: no frame\n");
break;
}
char filename[100];
strcpy(filename, "frameSplit");
char frame_id[30];
itoa(frame_number, frame_id, 10);
strcat(filename, frame_id);
strcat(filename, ".png");
printf("* Saving: %s\n", filename);
if (!cvSaveImage(filename, frame,0))
{
printf("!!! cvSaveImage failed\n");
break;
}
frame_number++;
// quit when user press 'q'
key = cvWaitKey(1000/fps);
}
// free resources
cvReleaseCapture(&capture);
return 0;
}
可能重複:HTTP:// stackoverflow.com/questions/5428632/c-error-undefined-reference-to-itoa – Cyclonecode 2012-02-29 23:08:16
非常感謝你,這個問題解決了這個問題。現在的問題是該計劃沒有做到假設要做的事情。它讀取avi文件,但不會將視頻分割成圖像並將其保存到「frameSplit」文件中。 – Hernando 2012-02-29 23:25:33