Opencv 鼠标点击获取视频下一帧

今晚偶来兴致, 想通过点击鼠标, 视频显示下一帧图像。

struct U
{
    VideoCapture cap;
    Mat m;
};

void mouse(int k, int x, int y, int s, void *p)
{
    U * u  = (U*)p;
    if ( k && s )
        u->cap.read(u->m);
}
int main(int,char**)
{
    U u;
    namedWindow("i",0);
    setMouseCallback("i",mouse,&u);
    u.cap.open("Megamind.avi");
    while( u.cap.isOpened() )
    {
        if (! u.m.empty())
            imshow("i",u.m);
        int k = waitKey(10);
        if ( k==27 ) break;
    }
    return 0;
}


Opencv 鼠标点击获取视频下一帧_第1张图片Opencv 鼠标点击获取视频下一帧_第2张图片

你可能感兴趣的:(Opencv 鼠标点击获取视频下一帧)