任意のフレームを画像にする

using (VideoCapture videoCapture = new VideoCapture(filepath))
{
    Mat img = new Mat();

    if (!videoCapture.IsOpened())
    {
        Console.WriteLine("file not opend!");
        return;
    }

    Bitmap bitmap;
    int frameCount = videoCapture.FrameCount-1;
    double fps = videoCapture.Fps;
    int posFrame = (int)(frameCount * fps);

    videoCapture.PosFrames = frameCount;
    videoCapture.Read(img);
    bitmap = BitmapConverter.ToBitmap(img);
    bitmap.Save(@"hogehoge.jpg");
}

frameCountを-1してるのは、最終フレームを指定するとvideoCapture.Read(img)ができず、ArgumentExceptionで落ちる FrameCountが0から始まるからだろうと勝手に想像してるが、今のところ思い通りの動作をしている