3
#include "opencv2/opencv.hpp"
#pragma comment (lib , "opencv_core244d.lib")
#pragma comment (lib ,"opencv_highgui244d.lib")
#pragma comment(lib , "opencv_imgproc244d.lib")
int main(int argc, char* argv[])
{
    CvCapture* capture = cvCaptureFromFile("try.avi");

    IplImage* frame = NULL;
    do
    {
        frame = skipNFrames(capture, 1);
        cvNamedWindow("frame", CV_WINDOW_AUTOSIZE);
        cvShowImage("frame", frame);
        cvWaitKey(0);
    } while( frame != NULL );

    cvReleaseCapture(&capture);
    cvDestroyWindow("frame");
    cvReleaseImage(&frame);

    return 0;
}

これはビデオからフレームを取得するための私のプログラムですが、このプログラムを実行すると動作し、ビデオが表示されますが、フレームが自動的に保存されず (ボタンやマウスを使用せずに)、ディレクトリに保存されます。

4

4 に答える 4

0

cvSaveImage()各フレームを明示的に保存するために使用する必要があります。
これは、フレームを保存する場所のループで行う必要があります。
明らかに、各フレームを別の名前で保存したい場合は、呼び出しごとに別の名前を生成する必要があります。@baban はそれを行う 1 つの方法を示しています。

于 2013-04-25T08:38:35.870 に答える