在opencv中imshow窗口冻结

时间:2014-03-15 14:02:56

标签: c++ opencv leap-motion

我正在用跳跃动作做opencv。当我尝试创建一个黑屏的窗口但窗口冻结而没有响应。有谁有这个问题?这是我的代码。

Mat PaintShow( 480,640,CV_8UC3);
int main(int argc, char* argv[])
{

    rectangle( PaintShow,Point( 0, 0),Point( 2000, 2000),Scalar( 0, 0, 0 ),-1,8 );

    // Create a sample listener and controller
    SampleListener listener;
    Leap::Controller controller;
        .
        .
        .
}

以下是每隔几毫秒更新一次的跳跃运动方法。所以我把imshow放在这里

void SampleListener::onFrame(const Leap::Controller& controller) 
{
    const Leap::Frame frame = controller.frame();      
    imshow("PaintShow",PaintShow);
    .
    .
    .
}

enter image description here

1 个答案:

答案 0 :(得分:6)

你需要调用waitKey(some_millis);在imshow()之后的某个地方,否则你的窗口将不会更新。